![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/old/vendor/laminas/laminas-validator/src/ |
<?php namespace Laminas\Validator; use Laminas\Stdlib\ArrayUtils; use Traversable; use function array_key_exists; use function array_shift; use function func_get_args; use function is_array; class LessThan extends AbstractValidator { public const NOT_LESS = 'notLessThan'; public const NOT_LESS_INCLUSIVE = 'notLessThanInclusive'; /** * Validation failure message template definitions * * @var array */ protected $messageTemplates = [ self::NOT_LESS => "The input is not less than '%max%'", self::NOT_LESS_INCLUSIVE => "The input is not less or equal than '%max%'", ]; /** * Additional variables available for validation failure messages * * @var array */ protected $messageVariables = [ 'max' => 'max', ]; /** * Maximum value * * @var mixed */ protected $max; /** * Whether to do inclusive comparisons, allowing equivalence to max * * If false, then strict comparisons are done, and the value may equal * the max option * * @var bool */ protected $inclusive; /** * Sets validator options * * @param array|Traversable $options * @throws Exception\InvalidArgumentException */ public function __construct($options = null) { if ($options instanceof Traversable) { $options = ArrayUtils::iteratorToArray($options); } if (! is_array($options)) { $options = func_get_args(); $temp['max'] = array_shift($options); if (! empty($options)) { $temp['inclusive'] = array_shift($options); } $options = $temp; } if (! array_key_exists('max', $options)) { throw new Exception\InvalidArgumentException("Missing option 'max'"); } if (! array_key_exists('inclusive', $options)) { $options['inclusive'] = false; } $this->setMax($options['max']) ->setInclusive($options['inclusive']); parent::__construct($options); } /** * Returns the max option * * @return mixed */ public function getMax() { return $this->max; } /** * Sets the max option * * @return $this Provides a fluent interface */ public function setMax(mixed $max) { $this->max = $max; return $this; } /** * Returns the inclusive option * * @return bool */ public function getInclusive() { return $this->inclusive; } /** * Sets the inclusive option * * @param bool $inclusive * @return $this Provides a fluent interface */ public function setInclusive($inclusive) { $this->inclusive = $inclusive; return $this; } /** * Returns true if and only if $value is less than max option, inclusively * when the inclusive option is true * * @param mixed $value * @return bool */ public function isValid($value) { $this->setValue($value); if ($this->inclusive) { if ($value > $this->max) { $this->error(self::NOT_LESS_INCLUSIVE); return false; } } else { if ($value >= $this->max) { $this->error(self::NOT_LESS); return false; } } return true; } }