mirror of
https://github.com/Respect/Validation.git
synced 2026-03-17 23:59:51 +01:00
Improves SPDX header linting to ensure consistent license metadata across the codebase. Key changes: - Enforce deterministic tag ordering (License-Identifier, FileCopyrightText, FileContributor) to ensure consistency, prevent merge conflicts, and simplify code reviews - Add contributor alias mapping to consolidate contributors with multiple emails or name variations (e.g., "nickl-" → "Nick Lombard") - Add --contributions-strategy option with "blame" (current code authors) and "log" (all historical contributors) to support different attribution philosophies - Add optional path argument to lint specific files or directories - Add --fix option to automatically correct header issues Assisted-by: Claude Code (claude-opus-4-5-20251101)
1.7 KiB
1.7 KiB
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.
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
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 |