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

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

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

Сообщение DrStopor » 2019.08.07, 11:56

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

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

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

chesar
Сообщения: 512
Зарегистрирован: 2013.04.10, 17:49

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

Сообщение chesar » 2019.08.07, 15:51

php-extension-intl установлен последней версии?

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

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

Сообщение DrStopor » 2019.08.08, 14:02

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

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

urichalex
Сообщения: 955
Зарегистрирован: 2015.08.07, 11:03

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

Сообщение urichalex » 2019.08.09, 10:23

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

chesar
Сообщения: 512
Зарегистрирован: 2013.04.10, 17:49

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

Сообщение chesar » 2019.08.12, 09:22

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

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

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

Сообщение DrStopor » 2019.08.12, 11:31

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
Сообщения: 2695
Зарегистрирован: 2011.09.21, 12:39
Откуда: Perm
Контактная информация:

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

Сообщение SiZE » 2019.08.12, 14:18

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

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

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

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

Сообщение DrStopor » 2019.08.12, 16:21

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
Сообщения: 955
Зарегистрирован: 2015.08.07, 11:03

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

Сообщение urichalex » 2019.08.13, 10:35

Мое сообщение не читали да?

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

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

Сообщение DrStopor » 2019.08.14, 14:50

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

Ответить