respect-validation/docs/rules/Named.md
Henrique Moody a3c197f600
Handle names via the Named rule
Because of how the validation engine works now [1], there's no reason to
keep adding names to each rule. Instead, create a single rule that
handles naming rules with a few other accessories. This change is not
necessarily simple, but it shrinks the `Rule` interface, and it's more
aligned with how the library works right now.

Personally, I think this API is much more straightforward than the
`setName()` method, as it's way more explicit about which rule we're
naming. Because of this change, the behaviour changed slightly, but it's
for the best.

Because of this change, I managed to remove a lot of code, but
unfortunately, it's quite a big-bang commit. It would be too complicated
to make it atomic since names are an intrinsic part of the library.

[1]: 238f2d506a
2024-12-26 23:10:19 +01:00

1.1 KiB

Named

  • Named(Rule $rule, string $name)

Validates the input with the given rule, and uses the custom name in the error message.

v::named(v::email(), 'Your email')->assert('not an email');
// Message: Your email must be a valid email address

Here's an example of a similar code, but without using the Named rule:

v::email()->assert('not an email');
// Message: "not an email" must be a valid email address

The Named rule can be also useful when you're using Attributes and want a custom name for a specific property.

Templates

This rule does not have any templates, as it will use the template of the given rule.

Template placeholders

Placeholder Description
name The value that you define as $name.

Categorization

  • Core
  • Structures
  • Miscellaneous

Changelog

Version Description
3.0.0 Created

See also: