Email

Дата оновлення перекладу 2022-12-16

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: 'The email {{ value }} is not a valid email.',
    )]
    protected $email;
}

Дата оновлення перекладу 2022-12-20

Note

Як і в більшості інших обмежень, null та порожні рядки вважаються валідними значеннями. Це для того, щоб дозволити їм бути опціональними значеннями. Якщо значення є обовʼязковим, розповсюдженим рішенням буде комбінація цього обмеження з NotBlank.

Опції

Дата оновлення перекладу 2022-12-20

groups

тип: array | string

Визначаэ групу або групи валідації обмеження. Прочитайте більше про групи валідації.

message

тип: string за замовчуванням: Це значення не є ваідною електронною адресою.

Це повідомлення відображається, якщо дані, що лежать в основі, не є валідною адресою електронної пошти.

Ви можете використати наступні параметри у цьому повідомленні:

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

mode

тип: string за замовчуванням: loose

Ця опція визначає патерн, використовуваний для валідації електронної адреси. Валідні значення:

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

6.2

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

Tip

Можливі значення цієї опції також визначені як PHP-константи Email (наприклад, Email::VALIDATION_MODE_STRICT).

Значення за замовчуванням використовуване цією опцією встановлено як опцію конфігурації framework.validation.email_validation_mode .

6.2

Значення loose застаріло у Symfony 6.2. Починаючи з Symfony 7.0, значення опції за замовчуванням буде html5.

Дата оновлення перекладу 2022-12-20

normalizer

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

Ця опція дозволяє вам визначати PHP-викличне, застосоване до заданого значення до перевірки, чи є воно валідним.

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

Дата оновлення перекладу 2022-12-20

payload

тип: mixed за замовчуванням: null

Ця опція може бути використана, щоб додати довільні дані, специфічні для домену, до обмеження. Сконфігуроване корисне навантаження не використовується компонентом Validator, але його обробка повністю залежить від вас.

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