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 }} ?????? ?????????? ?????? ????????

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

groups

тип: array | string

Визначаэ групу або групи валідації обмеження. Прочитайте більше про групи валідації.

max

тип: integer

Ця опція - це "max" значення кількості. Валідація буде невдалою, якщо задана кількість елементів колекції більше, ніж це максимальне значення.

Ця опція обовʼязкова, якщо не визначено опцію min.

maxMessage

тип: string за замовчуванням: Ця колекція має містити {{ limit }} елементів, або менше.

Це повідомлення буде відображено, якщо кількість елементів основної колекції більша за опцію max.

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

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

min

тип: integer

Ця опція - це "min" значення кількості. Валідація буде невдалою, якщо задана кількість елементів колекції менше, ніж це максимальне значення.

Ця опція обовʼязкова, якщо не визначено опцію max.

minMessage

тип: string за замовчуванням: Ця колекція має містити {{ limit }} елементів, або більше.

Це повідомлення буде відображено, якщо кількість елементів основної колекції більша за опцію min.

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

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

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

payload

тип: mixed за замовчуванням: null

Ця опція може бути використана, щоб додати довільні дані, специфічні для домену, до обмеження. Сконфігуроване корисне навантаження не використовується компонентом Validator, але його обробка повністю залежить від вас.

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