On this page
Caution
The documentation you are viewing is for an older version of this component.
Switch to the latest (v3) version.
Validators
Between Validator
Deprecated
This validator is deprecated in favour of the NumberComparison validator and the DateComparison validator for validation of dates. This validator will be removed in version 3.0.
Laminas\Validator\Between
allows you to validate if a given value is between two
other values.
Only supports number validation
Laminas\Validator\Between
supports only the validation of numbers. Strings or dates can not be validated with this validator.
Supported options
The following options are supported for Laminas\Validator\Between
:
inclusive
: Defines if the validation is inclusive of the minimum and maximum border values, or exclusive. It defaults totrue
.max
: Sets the maximum border for the validation.min
: Sets the minimum border for the validation.
Default behaviour
Per default, this validator checks if a value is between min
and max
where
both border values are allowed as value.
$valid = new Laminas\Validator\Between(['min' => 0, 'max' => 10]);
$value = 10;
$result = $valid->isValid($value);
// returns true
In the above example, the result is true
due to the reason that the default
search is inclusive of the border values. This means in our case that any value
from '0' to '10' is allowed; values like '-1' and '11' will return false
.
Excluding border values
Sometimes it is useful to validate a value by excluding the border values. See the following example:
$valid = new Laminas\Validator\Between([
'min' => 0,
'max' => 10,
'inclusive' => false,
]);
$value = 10;
$result = $valid->isValid($value);
// returns false
The example above is almost identical to our first example, but we now exclue
the border values; as such, the values '0' and '10' are no longer allowed and
will return false
.