Locale

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

Locale

Валидирует, что значение является валидной локалью.

"Значение" каждой локали является любым из ID локалей формата ICU. Например, двухбуквенный код языка ISO 639-1 (например, fr), или код языка с нижним подчёркиванием после него (_) и кодом страны ISO 3166-1 alpha-2 (например, fr_FR для французского / Франции).

Заданные значения локали каноникализируются перед их валидацией, чтобы избежать проблем с неправильными значениями верхнего/нижнего регистра и чтобы удалить ненужные элемент (например, FR-fr.utf8 будет валидироваться как fr_FR).

??????????? ? ???????? ??? ??????
????? Locale
????????? LocaleValidator

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

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

use Symfony\Component\Validator\Constraints as Assert;

class User
{
    #[Assert\Locale(
        canonicalize: true,
    )]
    protected string $locale;
}

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

Note

Как и в большинстве других ограничений, null и пустые строки считаются валидными значениями. Это для того, чтобы позволить им быть опциональными значениями. Если значение является обязательным, распространенным решением будет комбинация этого ограничения с NotBlank.

Опции

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

groups

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

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

message

тип: string по умолчанию: Это значение не является валидной локалью.

Это сообщение отображается, если строка не является валидной локалью.

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

???????? ????????
{{ value }} ??????? (??????????) ????????
{{ label }} ??????????????? ????? ???? ?????

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

payload

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

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

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