docs/validators/OneOf.md
OneOf(Validator $validator1, Validator $validator2)OneOf(Validator $validator1, Validator $validator2, Validator ...$validators)Will validate if exactly one inner validator passes.
v::oneOf(v::digit(), v::alpha())->assert('AB');
// Validation passes successfully
v::oneOf(v::digit(), v::alpha())->assert('12');
// Validation passes successfully
v::oneOf(v::digit(), v::alpha())->assert('AB12');
// → - "AB12" must pass one of the rules
// → - "AB12" must consist only of digits (0-9)
// → - "AB12" must consist only of letters (a-z)
v::oneOf(v::digit(), v::alpha())->assert('*');
// → - "*" must pass one of the rules
// → - "*" must consist only of digits (0-9)
// → - "*" must consist only of letters (a-z)
The chains above validate if the input is either a digit or an alphabetic character, one or the other, but not neither nor both.
OneOf::TEMPLATE_NONEUsed when none of the validators have passed.
| Mode | Template |
|---|---|
default | {{subject}} must pass one of the rules |
inverted | {{subject}} must pass one of the rules |
OneOf::TEMPLATE_MORE_THAN_ONEUsed when more than one validator has passed.
| Mode | Template |
|---|---|
default | {{subject}} must pass only one of the rules |
inverted | {{subject}} must pass only one of the rules |
| Placeholder | Description |
|---|---|
subject | The validated input or the custom validator name (if specified). |
| Version | Description |
|---|---|
| 3.0.0 | Require at least two validators to be passed |
| 0.3.9 | Created |