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, але його обробка повністю залежить від вас.
Наприклад, ви можете захотіти використати декілька рівнів помилок, щоб представити неуспішні обмеження по-різному у фронтенді, залежно від серйозності помилки.