Страница 1 из 1
Не проходит валидация польностью кириллического e-mail
Добавлено: 2019.08.07, 11:56
DrStopor
При заполнении поля 'email' адресом почты полностью на кириллице, и попытке отправить данные по кнопке, выходит сообщение, что email не может начинаться с * буквы и отправка не происходит, где * - любая буква кириллицы.
enableIDN включен.
Код: Выделить всё
public function rules()
{
return [
['email', 'email', 'enableIDN' => true],
];
}
Re: Не проходит валидация польностью кириkлического e-mail
Добавлено: 2019.08.07, 15:51
chesar
php-extension-intl установлен последней версии?
Re: Не проходит валидация польностью кириллического e-mail
Добавлено: 2019.08.08, 14:02
DrStopor
текущая версия ICU 64.1 (она же и стояла изначально).
последняя 64.2, но при всех танцах с бубном не встает, потому пришлось вернуться к 64.1.
OS: Kubuntu 19.04. Php 7.3
Ниже скрин "ошибки", к стартовому сообщению почему-то не прилепилось.
https://cloud.mail.ru/public/5BkC/2oHAV9Wu3
Re: Не проходит валидация польностью кириллического e-mail
Добавлено: 2019.08.09, 10:23
urichalex
Судя по скрину - валидатор браузера ругается.
Решение: заменить type=email на type=text и валидировать только средствами фреймворка, либо указать novalidate
Re: Не проходит валидация польностью кириллического e-mail
Добавлено: 2019.08.12, 09:22
chesar
DrStopor писал(а): ↑2019.08.08, 14:02
текущая версия ICU 64.1 (она же и стояла изначально).
Хорошо, а php-extension то установлен?
Re: Не проходит валидация польностью кириллического e-mail
Добавлено: 2019.08.12, 11:31
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 присутствует в списке.
Re: Не проходит валидация польностью кириллического e-mail
Добавлено: 2019.08.12, 14:18
SiZE
Там выше хороший вопрос задали.
Валидация клиентская или серверная? Из коробки нет такого сообщения, такой проверки и такого вывода ошибок. По ощущениям это клиентская кастомная валидация какая-то. Yii2 не разбирает в какой части email ошибка. Там только одно сообщение `{attribute} is not a valid email address.`
Re: Не проходит валидация польностью кириллического e-mail
Добавлено: 2019.08.12, 16:21
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. в лисе выдает сообщение "Пожалуйста, введите адрес электронной почты". И опять таки, если до собаки кириллица.
Re: Не проходит валидация польностью кириллического e-mail
Добавлено: 2019.08.13, 10:35
urichalex
Мое сообщение не читали да?
Re: Не проходит валидация польностью кириллического e-mail
Добавлено: 2019.08.14, 14:50
DrStopor
urichalex писал(а): ↑2019.08.13, 10:35
Мое сообщение не читали да?
Читал. Спасибо за вариант решения. Сам же выбрал решением сверять с регуляркой.