respect-validation/docs/Between.md
Henrique Moody 60e3fc3740
Refactor "Between" rule
The "Between" rule was extending the "AllOf" rule and adding "Max" and
"Min" rules to the chain. Because of that, when the rule failed we could
get the "MinException" or the "MaxException" exception, and only if both
failed that we would get the "BetweenException".

With this change it will always get the "BetweenException" which makes
it more explicit.

Also, the "Between" is not using the same standard required in the
Contribution Guidelines.
2018-03-03 18:06:26 +01:00

1 KiB

Between

  • Between(mixed $minimum, mixed $maximum)
  • Between(mixed $minimum, mixed $maximum, bool $inclusive)

Validates whether the input is between two other values.

v::intVal()->between(10, 20)->validate(15); // true

The type as the first validator in a chain is a good practice, since between accepts many types:

v::stringType()->between('a', 'f')->validate('c'); // true

Also very powerful with dates:

v::dateTime()->between('2009-01-01', '2013-01-01')->validate('2010-01-01'); // true

Date ranges accept strtotime values:

v::dateTime()->between('yesterday', 'tomorrow')->validate('now'); // true

A third parameter may be passed to validate the passed values inclusive:

v::dateTime()->between(10, 20, true)->validate(20); // true

Message template for this validator includes {{minValue}} and {{maxValue}}.

Changelog

Version Description
1.0.0 Became inclusive by default
0.3.9 Created

See also: