respect-validation/docs/rules/When.md

43 lines
1.1 KiB
Markdown
Raw Permalink Normal View History

2015-01-30 09:40:06 +01:00
# When
- `When(Validatable $if, Validatable $then)`
- `When(Validatable $if, Validatable $then, Validatable $else)`
2015-01-30 09:40:06 +01:00
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
2015-01-30 09:40:06 +01:00
```
In the sample above, if `$input` is an integer, then it must be positive.
2017-10-15 19:48:12 +02:00
If `$input` is not an integer, then it must not be empty.
2015-01-30 09:40:06 +01:00
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
***
2015-01-30 09:40:06 +01:00
See also:
- [AllOf](AllOf.md)
2018-12-11 13:31:50 +01:00
- [AlwaysInvalid](AlwaysInvalid.md)
- [AnyOf](AnyOf.md)
- [NoneOf](NoneOf.md)
2018-12-11 13:31:50 +01:00
- [OneOf](OneOf.md)