Не проходит валидация польностью кириллического e-mail

Предварительное обсуждение найденных ошибок перед отправкой их авторам фреймворка, а также внесение новых предложений.
Ответить
DrStopor
Сообщения: 5
Зарегистрирован: 2019.08.07, 11:45

Не проходит валидация польностью кириллического e-mail

Сообщение DrStopor »

При заполнении поля 'email' адресом почты полностью на кириллице, и попытке отправить данные по кнопке, выходит сообщение, что email не может начинаться с * буквы и отправка не происходит, где * - любая буква кириллицы.
enableIDN включен.

Код: Выделить всё

public function rules()
    {
        return [
            ['email', 'email', 'enableIDN' => true],
        ];
    }
Последний раз редактировалось DrStopor 2019.08.08, 13:11, всего редактировалось 1 раз.
chesar
Сообщения: 514
Зарегистрирован: 2013.04.10, 17:49

Re: Не проходит валидация польностью кириkлического e-mail

Сообщение chesar »

php-extension-intl установлен последней версии?
DrStopor
Сообщения: 5
Зарегистрирован: 2019.08.07, 11:45

Re: Не проходит валидация польностью кириллического e-mail

Сообщение DrStopor »

текущая версия ICU 64.1 (она же и стояла изначально).
последняя 64.2, но при всех танцах с бубном не встает, потому пришлось вернуться к 64.1.
OS: Kubuntu 19.04. Php 7.3

Ниже скрин "ошибки", к стартовому сообщению почему-то не прилепилось.
https://cloud.mail.ru/public/5BkC/2oHAV9Wu3
urichalex
Сообщения: 994
Зарегистрирован: 2015.08.07, 11:03

Re: Не проходит валидация польностью кириллического e-mail

Сообщение urichalex »

Судя по скрину - валидатор браузера ругается.
Решение: заменить type=email на type=text и валидировать только средствами фреймворка, либо указать novalidate
chesar
Сообщения: 514
Зарегистрирован: 2013.04.10, 17:49

Re: Не проходит валидация польностью кириллического e-mail

Сообщение chesar »

DrStopor писал(а): 2019.08.08, 14:02 текущая версия ICU 64.1 (она же и стояла изначально).
Хорошо, а php-extension то установлен?
DrStopor
Сообщения: 5
Зарегистрирован: 2019.08.07, 11:45

Re: Не проходит валидация польностью кириллического e-mail

Сообщение DrStopor »

chesar писал(а): 2019.08.12, 09:22
DrStopor писал(а): 2019.08.08, 14:02 текущая версия ICU 64.1 (она же и стояла изначально).
Хорошо, а php-extension то установлен?
Разумеется, иначе бы я версию ICU и не знал.

php -i -> блок intl.
php -m -> intl присутствует в списке.
Аватара пользователя
SiZE
Сообщения: 2813
Зарегистрирован: 2011.09.21, 12:39
Откуда: Perm
Контактная информация:

Re: Не проходит валидация польностью кириллического e-mail

Сообщение SiZE »

Там выше хороший вопрос задали.

Валидация клиентская или серверная? Из коробки нет такого сообщения, такой проверки и такого вывода ошибок. По ощущениям это клиентская кастомная валидация какая-то. Yii2 не разбирает в какой части email ошибка. Там только одно сообщение `{attribute} is not a valid email address.`
DrStopor
Сообщения: 5
Зарегистрирован: 2019.08.07, 11:45

Re: Не проходит валидация польностью кириллического e-mail

Сообщение DrStopor »

SiZE писал(а): 2019.08.12, 14:18 Там выше хороший вопрос задали.

Валидация клиентская или серверная? Из коробки нет такого сообщения, такой проверки и такого вывода ошибок. По ощущениям это клиентская кастомная валидация какая-то. Yii2 не разбирает в какой части email ошибка. Там только одно сообщение `{attribute} is not a valid email address.`
Только на уровне фреймворка сделана валидация.

Форма из view

Код: Выделить всё

<?php $form = ActiveForm::begin( ['options' => ['id' => 'testForm'] ] ) ?>
<?= $form->field($model, 'name')->label('Ваше имя')->input('name') / ?>
<?= $form->field($model, 'email')->label('E-mail')->input('email') ?>
<?= $form->field($model, 'text')->label('Сообщение')->input('text')->textarea(['rows' => 10 ]) ?>
<?= Html::submitButton('Отправить', ['class' =>'btn btn-success']) ?>
<?php $form = ActiveForm::end() ?>
Тем временем в контроллере

Код: Выделить всё

    public function rules()
    {
        return [
            [['name', 'email'], 'required',],
            ['email', 'email', 'enableIDN' => true],
            ['name', 'string', 'length' => [2, 64] ],
            ['text', 'trim'],
        ];
    }
Единственное, не было времени проверить на виндовой машине. Но как видно из кода, я не городил на стороне клиента ничего такого. Возможно заблуждаюсь, но это не точно.

P.S. в лисе выдает сообщение "Пожалуйста, введите адрес электронной почты". И опять таки, если до собаки кириллица.
urichalex
Сообщения: 994
Зарегистрирован: 2015.08.07, 11:03

Re: Не проходит валидация польностью кириллического e-mail

Сообщение urichalex »

Мое сообщение не читали да?
DrStopor
Сообщения: 5
Зарегистрирован: 2019.08.07, 11:45

Re: Не проходит валидация польностью кириллического e-mail

Сообщение DrStopor »

urichalex писал(а): 2019.08.13, 10:35 Мое сообщение не читали да?
Читал. Спасибо за вариант решения. Сам же выбрал решением сверять с регуляркой.
Ответить