‪TYPO3CMS  ‪main
NumberRangeValidator.php
Go to the documentation of this file.
1 <?php
2 
3 declare(strict_types=1);
4 
5 /*
6  * This file is part of the TYPO3 CMS project.
7  *
8  * It is free software; you can redistribute it and/or modify it under
9  * the terms of the GNU General Public License, either version 2
10  * of the License, or any later version.
11  *
12  * For the full copyright and license information, please read the
13  * LICENSE.txt file that was distributed with this source code.
14  *
15  * The TYPO3 project - inspiring people to share!
16  */
17 
19 
24 {
28  protected ‪$supportedOptions = [
29  'minimum' => [0, 'The minimum value to accept', 'integer'],
30  'maximum' => [PHP_INT_MAX, 'The maximum value to accept', 'integer'],
31  ];
32 
36  public function ‪isValid(mixed $value): void
37  {
38  if (!is_numeric($value)) {
39  $this->‪addError(
41  'validator.numberrange.notvalid',
42  'extbase'
43  ),
44  1221563685
45  );
46  return;
47  }
48 
49  $minimum = $this->options['minimum'];
50  $maximum = $this->options['maximum'];
51 
52  if ($minimum > $maximum) {
53  $x = $minimum;
54  $minimum = $maximum;
55  $maximum = $x;
56  }
57  if ($value < $minimum || $value > $maximum) {
59  'validator.numberrange.range',
60  'extbase',
61  [
62  $minimum,
63  $maximum,
64  ]
65  ), 1221561046, [$minimum, $maximum]);
66  }
67  }
68 }
‪TYPO3\CMS\Extbase\Validation\Validator\AbstractValidator
Definition: AbstractValidator.php:29
‪TYPO3\CMS\Extbase\Validation\Validator\NumberRangeValidator
Definition: NumberRangeValidator.php:24
‪TYPO3\CMS\Extbase\Validation\Validator\AbstractValidator\addError
‪addError(string $message, int $code, array $arguments=[], string $title='')
Definition: AbstractValidator.php:82
‪TYPO3\CMS\Extbase\Validation\Validator\NumberRangeValidator\$supportedOptions
‪array $supportedOptions
Definition: NumberRangeValidator.php:27
‪TYPO3\CMS\Extbase\Validation\Validator\AbstractValidator\translateErrorMessage
‪translateErrorMessage(string $translateKey, string $extensionName, array $arguments=[])
Definition: AbstractValidator.php:122
‪TYPO3\CMS\Extbase\Validation\Validator\NumberRangeValidator\isValid
‪isValid(mixed $value)
Definition: NumberRangeValidator.php:35
‪TYPO3\CMS\Extbase\Validation\Validator
Definition: AbstractCompositeValidator.php:18