respect-validation/docs/validators/OneOf.md
Alexandre Gomes Gaigalas bd48bdcda4 Lint Changelog format in validator docs
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.
2026-01-26 19:11:00 +00:00

2.3 KiB

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 contain only digits (0-9)
// →   - "AB12" must contain only letters (a-z)

v::oneOf(v::digit(), v::alpha())->assert('*');
// → - "*" must pass one of the rules
// →   - "*" must contain only digits (0-9)
// →   - "*" must contain only 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