mirror of
https://github.com/Respect/Validation.git
synced 2024-06-26 17:20:16 +02:00
10df3211f5
Signed-off-by: Henrique Moody <henriquemoody@gmail.com>
43 lines
1.1 KiB
Markdown
43 lines
1.1 KiB
Markdown
# When
|
|
|
|
- `When(Validatable $if, Validatable $then)`
|
|
- `When(Validatable $if, Validatable $then, Validatable $else)`
|
|
|
|
A ternary validator that accepts three parameters.
|
|
|
|
When the `$if` validates, returns validation for `$then`.
|
|
When the `$if` doesn't validate, returns validation for `$else`, if defined.
|
|
|
|
```php
|
|
v::when(v::intVal(), v::positive(), v::notEmpty())->validate(1); // true
|
|
v::when(v::intVal(), v::positive(), v::notEmpty())->validate('not empty'); // true
|
|
|
|
v::when(v::intVal(), v::positive(), v::notEmpty())->validate(-1); // false
|
|
v::when(v::intVal(), v::positive(), v::notEmpty())->validate(''); // false
|
|
```
|
|
|
|
In the sample above, if `$input` is an integer, then it must be positive.
|
|
If `$input` is not an integer, then it must not be empty.
|
|
When `$else` is not defined use [AlwaysInvalid](AlwaysInvalid.md)
|
|
|
|
## Categorization
|
|
|
|
- Conditions
|
|
- Nesting
|
|
|
|
## Changelog
|
|
|
|
Version | Description
|
|
--------|-------------
|
|
0.8.0 | Allow to use rule without else
|
|
0.3.9 | Created
|
|
|
|
***
|
|
See also:
|
|
|
|
- [AllOf](AllOf.md)
|
|
- [AlwaysInvalid](AlwaysInvalid.md)
|
|
- [AnyOf](AnyOf.md)
|
|
- [NoneOf](NoneOf.md)
|
|
- [OneOf](OneOf.md)
|