WordCount

Дата обновления перевода 2025-02-05

WordCount

7.2

Ограничение WordCount было представлено в Symfony 7.2.

Валидирует, что строка (или объект, реализующий интерфейс PHP Stringable)
содержит заданное количество слов. Внутренне это ограничение использует класс IntlBreakIterator для подсчета слов в зависимости от вашей локали.

??????????? ? ???????? ??? ??????
????? WordCount
????????? WordCountValidator

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

Если вы хотите гарантировать, что свойство content класса BlogPostDTO
содержит от 100 до 200 слов, вы можете сделать следующее:

1
2
3
4
5
6
7
8
9
10
// src/Entity/BlogPostDTO.php
namespace App\Entity;

use Symfony\Component\Validator\Constraints as Assert;

class BlogPostDTO
{
    #[Assert\WordCount(min: 100, max: 200)]
    protected string $content;
}

Опции

min

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

Минимальное количество слов, которое должно содержать значение.

max

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

Максимальное количество слов, которое должно содержать значение.

locale

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

Локаль, которую следует использовать для подсчета слов с помощью класса
IntlBreakIterator. Значение по умолчанию (null) означает, что ограничение
использует текущую локаль пользователя.

Дата обновления перевода 2023-09-24

groups

тип: array | string по умолчанию: null

Определяет группу или группы валидации ограничений. Прочитайте больше о группах валидации.

minMessage

тип: string по умолчанию: Это значение слишком короткое. Должно содержать хотя бы одно слово.| Это значение слишком короткое. Должно содержать как минимум {{ min }} слов.

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

???????? ????????
{{ min }} ??????????? ?????????? ????
{{ count }} ???????? ?????????? ????

maxMessage

тип: string по умолчанию: Это значение слишком длинное. Должно содержать одно слово.| Это значение слишком длинное. Должно содержать {{ max }} слов или меньше.

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

???????? ????????
{{ max }} ???????????? ?????????? ????
{{ count }} ???????? ?????????? ????

Дата обновления перевода 2025-02-05

payload

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

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

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