All

Дата обновления перевода 2023-09-24

All

При применении к массиву (или проходимому объекту), это ограничение позволяет вам применить коллекцию ограничеий к каждому элементу массива.

??????????? ? ???????? ??? ??????
????? All
????????? AllValidator

Базовое применение

Представьте, что у вас есть массив строк, и что вы хотите валидировать каждую запись в этом массиве:

1
2
3
4
5
6
7
8
9
10
11
12
13
// src/Entity/User.php
namespace App\Entity;

use Symfony\Component\Validator\Constraints as Assert;

class User
{
    #[Assert\All([
        new Assert\NotBlank,
        new Assert\Length(min: 5),
    ])]
    protected array $favoriteColors = [];
}

Теперь, каждая запись в массиве favoriteColors будет валидирована, чтобы не быть пустой и иметь хотя бы 5 символов.

Опции

constraints

тип: array [опция по умолчанию ]

Эта обязательная опция - это массив ограничений валидации, которые вы хотите применить к каждому элементу лежащего в основании массива.

groups

type: array | string default: null

It defines the validation group or groups of this constraint. Read more about validation groups.

payload

тип: mixed по умолчанию: null

Эта опция может быть использована, чтобы добавить к ограничению произвольные данные, относящиеся к домену. Сконфигурированная нагрузка не используется компонентом Валидатор, но его обработка полностью зависит от вас.

Например, вы можете захотеть исользовать несколько уровней ошибок, чтобы представить неудачные ограничения в фронт-энде по-разному, в зависимости от степени сложности ошибки.