Email

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

Email

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

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

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

  • Attributes
  • YAML
  • XML
  • PHP
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: 'Email {{ value }} не является валидным email.',
    )]
    protected $email;
}

Note

As with most of the other constraints, null and empty strings are considered valid values. This is to allow them to be optional values. If the value is mandatory, a common solution is to combine this constraint with NotBlank.

Опции

groups

type: array | string

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

message

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

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

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

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

mode

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

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

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

6.2

Режим html5-allow-no-tld был представлен в Symfony 6.2.

Tip

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

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

6.2

Значение loose устарело, начиная с Symfony 6.2. Начиная с Symfony 7.0, значение этой опции по умолчанию будет html5.

normalizer

type: a PHP callable default: null

This option allows to define the PHP callable applied to the given value before checking if it is valid.

For example, you may want to pass the 'trim' string to apply the trim PHP function in order to ignore leading and trailing whitespace during validation.

payload

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

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

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