respect-validation/docs/validators/Templated.md
Alexandre Gomes Gaigalas 2a7f345e32 Streamline validators.md index
Makes it so the index looks more like a cheatsheet, condensing
information instead of making long lists that require lots of
scrolling to explore.

Additionally, the happy path for each validator was also
added, providing a quick reference use for comparison.

The direct markdown links were replaced by titled markdown
references, offering mouse-over tooltips over links that
display the validator one-line description.

To ensure a proper source of truth for these new index
goodies, the AssertionMessageLinter was modified to
verify that the first assertion in each doc is a
single-line validator that passes (a happy path), further
making our documentation conventions more solid.
2026-01-28 12:47:08 +00:00

1.5 KiB

Templated

  • Templated(string $template, Validator $validator)
  • Templated(string $template, Validator $validator, array<string, mixed> $parameters)

Defines a validator with a custom message template.

v::templated('You must provide a valid email', v::email())->assert('foo@bar.com');
// Validation passes successfully

v::templated('You must provide a valid email', v::email())->assert('not an email');
// → You must provide a valid email

v::templated(
    'The author of the page {{title}} is empty, please fill it up.',
    v::notBlank(),
    ['title' => 'Feature Guide']
)->assert('');
// → The author of the page "Feature Guide" is empty, please fill it up.

This validator can be also useful when you're using Attributes and want a custom template for a specific property.

Templates

This validator does not have any templates, as you must define the templates yourself.

Template placeholders

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

Categorization

  • Core
  • Structures
  • Miscellaneous

Changelog

Version Description
3.0.0 Created

See Also