AtLeastOneOf
Дата обновления перевода 2025-07-25
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-07-27
payload
тип: mixed по умолчанию: null
Эта опция может быть использована, чтобы добавить к ограничению произвольные данные, относящиеся к домену. Сконфигурированная нагрузка не используется компонентом Валидатор, но его обработка полностью зависит от вас.
Например, вы можете захотеть исользовать несколько уровней ошибок, чтобы представить неудачные ограничения в фронт-энде по-разному, в зависимости от степени сложности ошибки.