AtLeastOneOf
Дата оновлення перекладу 2023-09-24
AtLeastOneOf
Це обмеження перевіряє, щоб значення задовольняло хоча б одне із заданих обмежень. Валідація зупиняється як тільки одне з обмежень задоволено.
?????????????? ?? | ??????????? ??? ?????? |
???? | AtLeastOneOf |
????????? | AtLeastOneOfValidator |
Базове застосування
Наступні обмеження гарантують, що:
password
уStudent
або містить#
, або має щонайменше10
символів;grades
уStudent
є масивом, який містить щонайменше3
елементи або, що кожний елемент більший за або дорівнює5
.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
// src/Entity/Student.php
namespace App\Entity;
use Symfony\Component\Validator\Constraints as Assert;
class Student
{
#[Assert\AtLeastOneOf([
new Assert\Regex('/#/'),
new Assert\Length(min: 10),
])]
protected string $plainPassword;
#[Assert\AtLeastOneOf([
new Assert\Count(min: 3),
new Assert\All(
new Assert\GreaterThanOrEqual(5)
),
])]
protected array $grades;
}
Опції
constraints
тип: array
[опція за замовчуванням ]
Ця опція за замовчуванням - це масив обмежень валідації, з якого хоча б одне має бути задоволено для того, щоб валідація була успішною.
includeInternalMessages
тип: boolean
за замовчуванням: true
Якщо встановлено як true
, повідомлення, яке відображається при невдачі валідації,
міститиме список повідомлень для внутрішніх обмежень. Див. опцію message, щоб
побачити приклад.
message
тип: string
за замовчуванням: Це значення має задовольняти щонайменше одне з наступних обмежень:
Це вступ до повідомлення, яке буде відображено, якщо валідація буде невдалою. За замовчуванням,
далі слідуватиме список повідомлень для внутрішніх обмежень (конфігуровані з опцією
includeInternalMessages) . Наприклад, якщо властивість вище grades
зазнає невдачі
валідації, повідомлення буде
Це значення має задовольняти щонайменше одне з наступних обмежень:
[1] Ця колекція має містити 3 або більше елементи.
[2] Кожний елемент цієї колекції має задовольняти свій набір обмежень.
messageCollection
тип: string
за замовчуванням: Кожний елемент цієї колекції має задовольняти свій набір обмежень.
Це повідомлення, яке буде відображено, якщо валідація зазнає невдачі, а внутрішнє обмеження є або All, або Collection. Див. опцію message, щоб побачити приклад.
Дата оновлення перекладу 2023-09-24
groups
тип: array
| string
за замовчуванням: null
Визначає групу або групи валідації обмеження. Прочитайте більше про групи валідації.
Дата оновлення перекладу 2025-01-15
payload
тип: mixed
за замовчуванням: null
Ця опція може бути використана, щоб додати довільні дані, специфічні для домену, до обмеження. Сконфігуроване корисне навантаження не використовується компонентом Validator, але його обробка повністю залежить від вас.
Наприклад, ви можете захотіти використати декілька рівнів помилок, щоб представити неуспішні обмеження по-різному у фронтенді, залежно від серйозності помилки.