Skip to content

Latest commit

 

History

History
81 lines (58 loc) · 2.46 KB

File metadata and controls

81 lines (58 loc) · 2.46 KB

OneOf

  • 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.

Templates

OneOf::TEMPLATE_NONE

Used 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_ONE

Used 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

Template placeholders

Placeholder Description
subject The validated input or the custom validator name (if specified).

Categorization

  • Composite
  • Nesting

Changelog

Version Description
3.0.0 Require at least two validators to be passed
0.3.9 Created

See Also