Валидатор email не понимает кирилические домены

    public function rules() {
    return [
           ...
           ['email', 'email'],
           ...]

Валидатор 'email' Yii2 не пропускает русские домены типа .рус, .рф Говорит что введенный емайл не является email. Как быть?


Ответы (1 шт):

Автор решения: Алексей Шиманский

Одним из параметров валидатор email может принимать свойство "enableIDN". Оно даёт понять фреймворку, нужно ли учитывать IDN (многоязычные доменные имена). По умолчанию значение false.

NOTICE: Также нужно помнить, что для использования IDN-валидации вам нужно установить и включить в PHP расширение intl (php-extension-intl, а также что в php.ini раскоментированны нужные строки), иначе будет выброшено исключение.

И ещё заметка: возможно (не могу сказать точно) валидацию придётся сделать серверную, а не клиентскую

Итог:

public function rules() {
    return [
        ...
        ['email', 'email', 'enableIDN' => true],
        ...
    ];
}
→ Ссылка