respect-validation/docs/rules/When.md
Henrique Moody 10df3211f5
Add "Categorization" section to rule documentations
Signed-off-by: Henrique Moody <henriquemoody@gmail.com>
2019-05-11 19:16:21 +02:00

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)