respect-validation/docs/rules/Consecutive.md
Henrique Moody be72a54845
Add templates to each rule documentation
They only know what message a rule produces when they try running it.
Including the messages in the documentation will make it easier for
people to know what to expect.

There are a couple of undocumented placeholders, but I can live with
that for now.
2024-12-06 00:21:47 +01:00

1.5 KiB

Consecutive

  • Consecutive(Rule $rule1, Rule $rule2, Rule ...$rule)

Validates the input against a series of rules until one fails.

This rule can be handy for getting the least error messages possible from a chain.

This rule can be helpful in combinations with Lazy. An excellent example is when you want to validate a country code and a subdivision code.

v::consecutive(
    v::key('countryCode', v::countryCode()),
    v::lazy(static fn($input) => v::key('subdivisionCode', v::subdivisionCode($input['countryCode']))),
)->isValid($_POST);

You need a valid country code to create a SubdivisionCode, so it makes sense only to validate the subdivision code only if the country code is valid. In this case, you could also have used When, but you would then have to write v::key('countryCode', v::countryCode()) twice in your chain.

Templates

Template placeholders

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

Categorization

  • Composite
  • Conditions
  • Nesting

Changelog

Version Description
3.0.0 Created

See also: