respect-validation/docs/rules/Each.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.8 KiB

Each

  • Each(Rule $rule)

Validates whether each value in the input is valid according to another rule.

$releaseDates = [
    'validation' => '2010-01-01',
    'template'   => '2011-01-01',
    'relational' => '2011-02-05',
];

v::each(v::dateTime())->isValid($releaseDates); // true

You can also validate array keys combining this rule with Call:

v::call('array_keys', v::each(v::stringType()))->isValid($releaseDates); // true

Note

This rule uses Length with [GreaterThan][GreaterThan.md] internally. If an input has no items, the validation will fail.

Templates

Each::TEMPLATE_STANDARD

Mode Template
default Each item in {{subject}} must be valid
inverted Each item in {{subject}} must be invalid

Template placeholders

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

Categorization

  • Arrays
  • Nesting
  • Transformations

Changelog

Version Description
3.0.0 Rejected stdClass, non-iterable. or empty iterable values
2.0.0 Remove support for key validation
0.3.9 Created

See also: