mirror of
https://github.com/Respect/Validation.git
synced 2026-03-16 15:25:45 +01:00
Now empty values are again allowed in FilteredArray-style validators. To solve the issue with negation, a Result attribute was added to signal indeciseveness (when a result cannot be reliably inverted). On such cases, we consider that result to be valid. For example, `v::not(v::min(v::equals(10)))` says "The lowest value of the iterable input should not be equal 10". If the input is empty, we cannot decide whether its minimum is equal to 10 or not, so the validator essentially becomes a null-op. Users that want to ensure these validators have a valid decidable target must use it in combination with `Length` or other similar validators to achieve the same result.
2.2 KiB
2.2 KiB
Max
Max(Validator $validator)
Validates the maximum value of the input against a given validator.
v::max(v::equals(30))->assert([10, 20, 30]);
// Validation passes successfully
v::max(v::between('e', 'g'))->assert(['b', 'd', 'f']);
// Validation passes successfully
v::max(v::greaterThan(new DateTime('today')))
->assert([new DateTime('yesterday'), new DateTime('tomorrow')]);
// Validation passes successfully
v::max(v::greaterThan(15))->assert([4, 8, 12]);
// → The maximum of `[4, 8, 12]` must be greater than 15
Note
This validator will pass if the input is empty. Use Length with [GreaterThan][GreaterThan.md] to perform a stricter check:
v::max(v::equals(10))->assert([]);
// Validation passes successfully
v::length(v::greaterThan(0))->max(v::equals(10))->assert([]);
// → The length of `[]` must be greater than 0
Templates
Max::TEMPLATE_STANDARD
| Mode | Template |
|---|---|
default |
The maximum of |
inverted |
The maximum of |
Template as prefix
The template serves as a prefix to the template of the inner validator.
Template placeholders
| Placeholder | Description |
|---|---|
subject |
The validated input or the custom validator name (if specified). |
Categorization
- Comparisons
- Transformations
Changelog
| Version | Description |
|---|---|
| 3.0.0 | Became a transformation |
| 2.0.0 | Became always inclusive |
| 1.0.0 | Became inclusive by default |
| 0.3.9 | Created |