respect-validation/docs/rules/Templated.md
Henrique Moody 562d98d805
Refactor the NotEmpty rule
Since we have the ability to use `not` as a prefix, having rules that
validate negative behaviour makes them a bit inflexible, verbose, and
harder to understand.

This commit will refactor the `NotEmpty`, and rename it to `Falsy`. It
will no longer trim strings, because Blank does a much better job at it;
it only simulates the behaviour of PHP’s native `empty()` function.

Because `Falsy`, `Blank`, and `Undef` have similar behaviour, I created
a page to demonstrate the difference and show when the user should use
one or the other.

Assisted-by: Cursor (claude-4.5-opus-high)
2025-12-29 12:48:35 +01:00

1.3 KiB

Templated

  • Templated(Rule $rule, string $template)
  • Templated(Rule $rule, string $template, array<string, mixed> $parameters)

Defines a rule with a custom message template.

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

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

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

Templates

This rule 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: