Email

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

Email

Валидирует, что значение является валидным адресом электронной почты. Основоположное значение преобразовывается в строку перед валидацией.

??????????? ? ???????? ??? ??????
????? Email
????????? EmailValidator

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

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

use Symfony\Component\Validator\Constraints as Assert;

class Author
{
    #[Assert\Email(
        message: 'The email {{ value }} is not a valid email.',
    )]
    protected string $email;
}

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

Note

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

Опции

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

groups

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

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

message

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

Это сообщение отображается, если осоновоположные данные не являются валидным адресом электронной почты.

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

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

mode

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

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

  • loose использует простое регулярное выражение (просто проверяет, чтобы присутствовал хотя бы один символ @ и т.д.). Эта валидация слишком простая и рекомендуется использовать один из других режимов;
  • html5 использует регулярное выражение элемент ввода электронной почты HTML5, только форсирует наличие tld.
  • html5-allow-no-tld использует точно такое же регулярное выражение, как и элемент ввода электронной почты HTML5, что делает валидацию бэк-энда соответствующей той, что предоставлена браузерами.
  • strict валидирует адреса в соответствии с RFC 5322, используя библиотеку egulias/email-validator (которая уже установлена при использовании Symfony Mailer; в других случаях, вам нужно установить её отдельно).

Tip

Возможные значения этой опции также определены как PHP-константы Email (например, Email::VALIDATION_MODE_STRICT).

Значение, по умолчанию использованное этой опцией, установлено в опции конфигурации framework.validation.email_validation_mode .

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

normalizer

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

Эта опция позволяет вам определять PHP-вызываемое, примененное к заданному значению до проверки, является ли оно валидным.

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

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

payload

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

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

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