Charset

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

Charset

7.1

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

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

??????????? ? ???????? ??? ??????
????? Charset
????????? CharsetValidator

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

Если вы хотите гарантировать, что свойство content` класса FileDTO``
использует UTF-8, вы можете сделать следующее:

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

use Symfony\Component\Validator\Constraints as Assert;

class FileDTO
{
    #[Assert\Charset('UTF-8')]
    protected string $content;
}

Опции

encodings

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

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

groups

type: array | string default: null

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

message

тип: string по умолчанию: Обнаруженная кодировка символа невалидна ({{ detected }}). Разрешенные кодировки {{ encodings }}.

Это сообщение, которое будет показано, если значение не соответствует ни одной из принятых кодировок.

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

???????? ????????
{{ detected }} ???????????? ?????????
{{ encodings }} ???????? ?????????

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

payload

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

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

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