mirror of
https://github.com/Respect/Validation.git
synced 2026-03-17 23:59:51 +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.1 KiB
2.1 KiB
Min
Min(Validator $validator)
Validates the minimum value of the input against a given validator.
v::min(v::equals(10))->assert([10, 20, 30]);
// Validation passes successfully
v::min(v::between('a', 'c'))->assert(['b', 'd', 'f']);
// Validation passes successfully
v::min(v::greaterThan(new DateTime('yesterday')))
->assert([new DateTime('today'), new DateTime('tomorrow')]);
// Validation passes successfully
v::min(v::lessThan(3))->assert([4, 8, 12]);
// → The minimum of `[4, 8, 12]` must be less than 3
Note
This validator will pass if the input is empty. Use Length with [GreaterThan][GreaterThan.md] to perform a stricter check:
v::min(v::equals(10))->assert([]);
// Validation passes successfully
v::length(v::greaterThan(0))->min(v::equals(10))->assert([]);
// → The length of `[]` must be greater than 0
Templates
Min::TEMPLATE_STANDARD
| Mode | Template |
|---|---|
default |
The minimum of |
inverted |
The minimum 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 |