mirror of
https://github.com/Respect/Validation.git
synced 2026-03-16 07:15:45 +01:00
Some templates were a bit confusing, and I would like to favour adding
the `{{name}}` at the beginning of the templates as it helps when
reading nested messages.
I also deleted the regression tests for issue #1348, because it's a
non-issue, actually. The best approach to that problem is indeed using
`When` insteaf of `OneOf`.
1.7 KiB
1.7 KiB
OneOf
OneOf(Rule $rule1, Rule $rule2, Rule ...$rule)
Will validate if exactly one inner validator passes.
v::oneOf(v::digit(), v::alpha())->isValid('AB'); // true
v::oneOf(v::digit(), v::alpha())->isValid('12'); // true
v::oneOf(v::digit(), v::alpha())->isValid('AB12'); // false
v::oneOf(v::digit(), v::alpha())->isValid('*'); // false
The chains above validate if the input is either a digit or an alphabetic character, one or the other, but not neither nor both.
Templates
OneOf::TEMPLATE_NONE
Used when none of the rules have passed.
| Mode | Template |
|---|---|
default |
{{name}} must pass one of the rules |
inverted |
{{name}} must pass one of the rules |
OneOf::TEMPLATE_MORE_THAN_ONE
Used when more than one rule has passed.
| Mode | Template |
|---|---|
default |
{{name}} must pass only one of the rules |
inverted |
{{name}} must pass only one of the rules |
Template placeholders
| Placeholder | Description |
|---|---|
name |
The validated input or the custom validator name (if specified). |
Categorization
- Composite
- Nesting
Changelog
| Version | Description |
|---|---|
| 3.0.0 | Require at least two rules to be passed |
| 0.3.9 | Created |
See also: