Cascade

Дата оновлення перекладу 2024-05-29

Cascade

Обмеження Cascade використовується для перевірки цілого класу, включаючи всі об'єкти, які можуть зберігатися у його властивостях. Завдяки цьому обмеженню вам не потрібно додавати обмеження Valid до кожного дочірнього об'єкта, який ви хочете валідувати у вашому класі.

?????????????? ?? ?????
???? Cascade

Базове використання

У наступному прикладі обмеження Cascade скаже валідатору валідувати усі властивості класу, включаючи обмеження, які встановлені у дочірніх класах BookMetadata та Author:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
// src/Model/BookCollection.php
namespace App\Model;

use App\Model\Author;
use App\Model\BookMetadata;
use Symfony\Component\Validator\Constraints as Assert;

#[Assert\Cascade]
class BookCollection
{
    #[Assert\NotBlank]
    protected string $name = '';

    public BookMetadata $metadata;

    public Author $author;

    // ...
}

Опції

Опція groups недоступна для цього обмеження.

exclude

тип: array | string за замовчуванням: null

Ця опція може бути використана, щоб виключити одну або більше властивостей з валідації каскаду.

Дата оновлення перекладу 2024-05-29

payload

тип: mixed за замовчуванням: null

Ця опція може бути використана, щоб додати довільні дані, специфічні для домену, до обмеження. Сконфігуроване корисне навантаження не використовується компонентом Validator, але його обробка повністю залежить від вас.

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