respect-validation/docs/validators/ContainsAny.md
Henrique Moody d2198dfd01
Replace isValid() calls with assert()
There's more value on showing how `assert()` displays the validation
messages than simply showing if `isValid()` returns `true` or `false`.

However, that increases the chances of having outdated documentation, so
I created a doc linter that updates the Markdown files with the
correct message.
2026-01-13 23:37:06 -07:00

1.6 KiB

ContainsAny

  • ContainsAny(non-empty-array<mixed> $needles)
  • ContainsAny(non-empty-array<mixed> $needles, bool $identical)

Validates if the input contains at least one of defined values

For strings (comparing is case insensitive):

v::containsAny(['lorem', 'dolor'])->assert('lorem ipsum');
// Validation passes successfully

For arrays (comparing is case sensitive to respect "contains" behavior):

v::containsAny(['lorem', 'dolor'])->assert(['ipsum', 'lorem']);
// Validation passes successfully

A second parameter may be passed for identical comparison instead of equal comparison for arrays.

Message template for this validator includes {{needles}}.

Templates

ContainsAny::TEMPLATE_STANDARD

Mode Template
default {{subject}} must contain at least one value from {{needles}}
inverted {{subject}} must not contain any value from {{needles}}

Template placeholders

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

Categorization

  • Arrays
  • Strings

Changelog

Version Description
2.0.0 Created

See also: