[0, 'The minimum value to accept', 'integer'], 'maximum' => [PHP_INT_MAX, 'The maximum value to accept', 'integer'], 'notValidMessage' => [null, 'Translation key or message for non valid value', 'string'], 'notInRangeMessage' => [null, 'Translation key or message for value not in range', 'string'], ]; /** * The given value is valid if it is a number in the specified range. */ public function isValid(mixed $value): void { if (!is_numeric($value)) { $this->addError($this->translateErrorMessage($this->notValidMessage), 1221563685); return; } $minimum = $this->options['minimum']; $maximum = $this->options['maximum']; if ($minimum > $maximum) { $x = $minimum; $minimum = $maximum; $maximum = $x; } if ($value < $minimum || $value > $maximum) { $this->addError($this->translateErrorMessage( $this->notInRangeMessage, '', [ $minimum, $maximum, ] ), 1221561046, [$minimum, $maximum]); } } }