respect-validation/docs/rules/Length.md
Henrique Moody aa293dea72
Only create Length with subsequents when possible
Since I updated the validation engine[1], it became possible to create
results with subsequents[2]. This commit changes the "Length", allowing
it to create a result with a subsequent only when it's possible. That
will improve the clarity of the error messages.

[1]: 238f2d506a
[2]: 52e628fc6f
2024-12-16 21:47:53 +01:00

2.1 KiB

Length

  • Length(Rule $rule)

Validates the length of the given input against a given rule.

v::length(v::between(1, 5))->isValid('abc'); // true

v::length(v::greaterThan(5))->isValid('abcdef'); // true

v::length(v::lessThan(5))->isValid('abc'); // true

This rule can be used to validate the length of strings, arrays, and objects that implement the Countable interface.

v::length(v::greaterThanOrEqual(3))->isValid([1, 2, 3]); // true

v::length(v::equals(0))->isValid(new SplPriorityQueue()); // true

Templates

Length::TEMPLATE_STANDARD

Used when it's possible to get the length of the input.

Mode Template
default The length of
inverted The length of

This template serve as message prefixes.:

v::length(v::equals(3))->assert('tulip');
// Message: The length of "tulip" must be equal to 3

v::not(v::length(v::equals(4)))->assert('rose');
// Message: The length of "rose" must not be equal to 4

Length::TEMPLATE_WRONG_TYPE

Used when it's impossible to get the length of the input.

Mode Template
default {{name}} must be a countable value or a string
inverted {{name}} must not be a countable value or a string

Template placeholders

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

Categorization

  • Comparisons
  • Transformations

Changelog

Version Description
3.0.0 Became a transformation
0.3.9 Created

See also: