Back to Validation

All

docs/validators/All.md

3.1.12.1 KB
Original Source
<!-- SPDX-License-Identifier: MIT SPDX-FileCopyrightText: (c) Respect Project Contributors SPDX-FileContributor: Alexandre Gomes Gaigalas <[email protected]> SPDX-FileContributor: Henrique Moody <[email protected]> -->

All

  • All(Validator $validator)

Validates all items of the input against a given validator.

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

v::all(v::dateTime())->assert($releaseDates);
// Validation passes successfully

This validator is similar to Each, but while Each displays a message for each of the failed entries, All will display a single message generic to all failed entries instead.

php
v::all(v::startsWith('2010'))->assert($releaseDates);
// → Every item in `["validation": "2010-01-01", "template": "2011-01-01", "relational": "2011-02-05"]` must start with "2010"

v::named('Release Dates', v::all(v::startsWith('2010')))->assert($releaseDates);
// → Every item in Release Dates must start with "2010"

Note

This validator will pass if the input is empty. Use Length with [GreaterThan][GreaterThan.md] to perform a stricter check:

php
v::all(v::equals(10))->assert([]);
// Validation passes successfully

v::length(v::greaterThan(0))->all(v::equals(10))->assert([]);
// → The length of `[]` must be greater than 0

Templates

All::TEMPLATE_STANDARD

ModeTemplate
defaultEvery item in
invertedEvery item in

Template as prefix

The template serves as a prefix to the template of the inner validator.

php
v::all(v::floatType())->assert([1.5, 2]);
// → Every item in `[1.5, 2]` must be a float

v::not(v::all(v::intType()))->assert([1, 2, -3]);
// → Every item in `[1, 2, -3]` must not be an integer

Categorization

  • Comparisons
  • Transformations

Changelog

VersionDescription
3.0.0Created

See Also