mirror of
https://github.com/Respect/Validation.git
synced 2026-03-17 23:59:51 +01:00
Introduces a Markdown linter for checking the Changelog format. "See Also" was transformed into a section to make it easier to handle it with the `Content` class. The "Related" linter was simplified to reflect that change too. An additional "alignment" parameter was added to markdown table generators, allowing the padding and headers to be explicitly marked with a specific left (-1), middle (0) or right(1) alignment. Existing files were fixed using the `fix` option after the changes.
61 lines
1.7 KiB
Markdown
61 lines
1.7 KiB
Markdown
<!--
|
|
SPDX-FileCopyrightText: (c) Respect Project Contributors
|
|
SPDX-License-Identifier: MIT
|
|
-->
|
|
|
|
# When
|
|
|
|
- `When(Validator $when, Validator $then)`
|
|
- `When(Validator $when, Validator $then, Validator $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::notBlank())->assert(1);
|
|
// Validation passes successfully
|
|
|
|
v::when(v::intVal(), v::positive(), v::notBlank())->assert('non-blank string');
|
|
// Validation passes successfully
|
|
|
|
v::when(v::intVal(), v::positive(), v::notBlank())->assert(-1);
|
|
// → -1 must be a positive number
|
|
|
|
v::when(v::intVal(), v::positive(), v::notBlank())->assert('');
|
|
// → "" must not be blank
|
|
```
|
|
|
|
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 blank.
|
|
When `$else` is not defined use [AlwaysInvalid](AlwaysInvalid.md)
|
|
|
|
## Templates
|
|
|
|
## Template placeholders
|
|
|
|
| Placeholder | Description |
|
|
| ----------- | ---------------------------------------------------------------- |
|
|
| `subject` | The validated input or the custom validator name (if specified). |
|
|
|
|
## Categorization
|
|
|
|
- Conditions
|
|
- Nesting
|
|
|
|
## Changelog
|
|
|
|
| Version | Description |
|
|
| ------: | :---------------------------------- |
|
|
| 0.8.0 | Allow to use validator without else |
|
|
| 0.3.9 | Created |
|
|
|
|
## See Also
|
|
|
|
- [AllOf](AllOf.md)
|
|
- [AlwaysInvalid](AlwaysInvalid.md)
|
|
- [AnyOf](AnyOf.md)
|
|
- [Circuit](Circuit.md)
|
|
- [NoneOf](NoneOf.md)
|
|
- [OneOf](OneOf.md)
|