Довжина

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

Довжина

Валідує, що довжина заданого рядку знаходиться між деяким мінімальним та максимальним значеннями.

?????????????? ?? ??????????? ??? ??????
???? Length
????????? LengthValidator

Базове застосування

Щоб верифікувати, що довжина поля firstName класу знаходиться між находится между 2 і 50, ви можете захотіти додати наступне:

  • 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\Length(
        min: 2,
        max: 50,
        minMessage: 'Ваше імʼя має бути хоча б {{ limit }} символів у довжину',
        maxMessage: 'Ваше імʼя не може бути довшим за {{ limit }} символів',
    )]
    protected $firstName;
}

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

Note

Як і у більшості інших обмежень, null вважається валідним значенням. Це для того, щоб дозволити використання опціональних значень. Якщо значення є обовʼязковим, розповсюдженим рішенням буде комбінація цього обмеження з
NotNull.

Опції

charset

тип: string за замовчуванням: UTF-8

Набір символів для використання при обчисленні довжини значення з PHP-функціями mb_check_encoding та mb_strlen.

charsetMessage

тип: string за замовчуванням: Це значення не співпадає з очікуваним набором символів {{ charset }}.

Це повідомлення буде відображено, якщо значення не використовує заданий
набір символів.

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

???????? ????
{{ charset }} ?????????? ????? ????????
{{ value }} ??????? (?????????) ????????

exactMessage

тип: string за замовчуванням: Це значення повинно мати рівно {{ limit }} символів.

Повідомлення, відображене, якщо мінімальне та максимальне значення рівні, а довжина значення, що лежить в основі, не дорівнює цьому значенню.

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

???????? ????
{{ limit }} ????? ????????? ???????
{{ value }} ??????? (?????????) ????????

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

groups

тип: array | string

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

max

тип: integer

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

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

maxMessage

тип: string за замовчуванням: Це значення занадто довге. Воно повинно мати {{ limit }} або менше символів.

Повідомлення, відображене, якщо довжина значення, що лежить в основі, більша, ніж опція max.

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

???????? ????
{{ limit }} ????? ????????? ???????
{{ value }} ??????? (?????????) ????????

min

тип: integer

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

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

Важливо відмітити, що значення NULL та порожні рядки все одно вважаються валідними, навіть якщо обмеження вимагало мінімальної довжини. Валідатори запускаються лише якщо значення не порожнє.

minMessage

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

Повідомлення, відображене, якщо довжина значення, що лежить в основні, менша ніж опція min.

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

???????? ????
{{ limit }} ????? ????????? ???????
{{ value }} ??????? (?????????) ????????

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

normalizer

тип: PHP-викличне за замовчуванням: null

Ця опція дозволяє вам визначати PHP-викличне, застосоване до заданого значення до перевірки, чи є воно валідним.

Наприклад, ви можете захотіти передати рядок 'trim' для застосування PHP-функції trim, щоб ігнорувати початкові та замикаючі пробіли під час валідації.

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

payload

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

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

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