Count

Дата оновлення перекладу 2022-12-16

Count

Валидирует то, что заданный счёт элементов коллекции (т.к. массива или объекта, реализующего Countable) находится между некоторым минимальным и максимальным значением.

??????????? ? ???????? ??? ??????
????? Count
????????? CountValidator

Базовое применение

Чтобы убедиться, что поле массива emails содержит от 1 до 5 элементов, вы можете добавить следующее:

  • Attributes
  • YAML
  • XML
  • PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
// src/Entity/Participant.php
namespace App\Entity;

use Symfony\Component\Validator\Constraints as Assert;

class Participant
{
    #[Assert\Count(
        min: 1,
        max: 5,
        minMessage: 'Вы должны указать хотя бы один email',
        maxMessage: 'Вы не можете указать больше {{ limit }} email-ов',
    )]
    protected $emails = [];
}

Опции

divisibleBy

тип: integer по умолчанию: null

Валидирует, що количество элементов заданной коллекции можно поделить на определённое число.

See also

Если вам нужно валидировать, що другие типы данных, которые отличаются от коллекции, можно поделить на определённое число, используйте ограничение DivisibleBy.

divisibleByMessage

тип: string по умолчанию: Количество элементов в этой коллекции должно быть кратным {{ compared_value }}.

Сообщение, которое будет отображено, если количество элементов заданной коллекции нельзя поделить на число, определённое в опции divisibleBy.

Вы можете использовать следующие параметры в этом сообщении:

???????? ????????
{{ compared_value }} ?????, ?????????????????? ? ????? divisibleBy

exactMessage

тип: string по умолчанию: Эта коллекция должна содержать ровно {{ limit }} элементов.

Сообщение, отображаемое, если минимальное и максимальное значения одинаковые, а счёт основположной коллекции не равняется этому значению.

Вы можете использовать следующие параметры в этом сообщении:

???????? ????????
{{ count }} ??????? ?????? ?????????
{{ limit }} ?????? ????????? ?????? ?????????

groups

type: array | string

It defines the validation group or groups of this constraint. Read more about validation groups.

max

тип: integer

Эта опция - это максимальное значение счёта. Валидация будет неудачной, если заданная коллекция элементов больше, чем это максимальное значение.

Эта опция обязательна, если не определена опция min.

maxMessage

тип: string по умолчанию: Эта коллекция должна содержать {{ limit }} элементов или меньше.

Сообщение, отображаемое, если счёт основположной коллекции элементов больше, чем опция max.

Вы можете использовать следующие параметры в этом сообщении:

???????? ????????
{{ count }} ??????? ?????? ?????????
{{ limit }} ??????? ???????

min

тип: integer

Эта опция - это минимальное значение счёта. Валидация будет неудачной, если заданная коллекция элементов меньше, чем это минимальное значение.

Эта опция обязательна, если не определена опция max.

minMessage

тип: string по умолчанию: Эта коллекция должна содержать {{ limit }} элементов или больше.

Сообщение, отображаемое, если счёт основположной коллекции элементов меньше, чем опция min.

Ви можете використати наступні параметри у цьому повідомленні:

Вы можете использовать следующие параметры в этом сообщении:

???????? ????????
{{ count }} ??????? ?????? ?????????
{{ limit }} ?????? ???????

payload

тип: mixed по умолчанию: null

Эта опция может быть использована, чтобы добавить к ограничению произвольные данные, относящиеся к домену. Сконфигурированная нагрузка не используется компонентом Валидатор, но его обработка полностью зависит от вас.

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