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, чтобы увидеть пример.
groups
type: array
| string
default: null
It defines the validation group or groups of this constraint. Read more about validation groups.
Дата обновления перевода 2024-07-25
payload
тип: mixed
по умолчанию: null
Эта опция может быть использована, чтобы добавить к ограничению произвольные данные, относящиеся к домену. Сконфигурированная нагрузка не используется компонентом Валидатор, но его обработка полностью зависит от вас.
Например, вы можете захотеть исользовать несколько уровней ошибок, чтобы представить неудачные ограничения в фронт-энде по-разному, в зависимости от степени сложности ошибки.