Проблема с капчей и клиентской валидацией

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
makbeth
Сообщения: 55
Зарегистрирован: 2014.01.06, 11:27

Проблема с капчей и клиентской валидацией

Сообщение makbeth »

Доброго дня!
Столкнулся с такой проблемой, что при загрузке страницы капча отрабатывает нормально(сообщает о неправильном коде, если его неправильно ввести), но если кликнуть по картинке с капчей, она отрисует новую картинку, а код будет принимать старый (который отображался при загрузке страницы). На сколько понимаю, тут дела в клиентской валидации, либо в том, что код хранится в сессии и не обновляется. Может какой параметр забыл указать? В общем прошу сообщество помочь с решением.

makbeth
Сообщения: 55
Зарегистрирован: 2014.01.06, 11:27

Re: Проблема с капчей и клиентской валидацией

Сообщение makbeth »

Еще момент. Если кликнуть на картинке, чтобы появилась новая капча (которая не проходи клиентскую валидацию) и обновить страницу, то на странице уже будет отображена эта новая капча и она в этот момент уже будет проходить валидацию. Плюс ко всему параметр testLimit тоже не будет работать т.к. количество неудачных попыток, на сколько я понимаю, тоже не будет фиксироваться т.к. нет обращения к серверу (возможно неудачные попытки хранятся где-то в сессии, но я сомневаюсь). Возможно не только у меня такая проблема?

Paromon
Сообщения: 5
Зарегистрирован: 2016.03.23, 13:27

Re: Проблема с капчей и клиентской валидацией

Сообщение Paromon »

Собственно у меня точно такая же проблема. может кто подскажет решение. Немного не таким языком сказано но все же проблема та же viewtopic.php?f=19&t=36009
Последний раз редактировалось Paromon 2016.03.23, 15:02, всего редактировалось 1 раз.

Arroyo
Сообщения: 104
Зарегистрирован: 2014.11.29, 11:24

Re: Проблема с капчей и клиентской валидацией

Сообщение Arroyo »

Попробуйте так

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

<?php $form = ActiveForm::begin([
                    'id'                     => 'form',
                    'enableAjaxValidation'   => false, 
                    'enableClientValidation' => true,
                ]); ?>

Paromon
Сообщения: 5
Зарегистрирован: 2016.03.23, 13:27

Re: Проблема с капчей и клиентской валидацией

Сообщение Paromon »

Arroyo писал(а):Попробуйте так

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

<?php $form = ActiveForm::begin([
                    'id'                     => 'form',
                    'enableAjaxValidation'   => false, 
                    'enableClientValidation' => true,
                ]); ?>
Попробовал. Не помогает. Тут проблема с тем что при нажатии на картинку не обновляется сессия. т.е. картинка новая а данные сессии старые. Не подскажите как обновлять сессию?
Последний раз редактировалось Paromon 2016.03.24, 10:35, всего редактировалось 1 раз.

Paromon
Сообщения: 5
Зарегистрирован: 2016.03.23, 13:27

Re: Проблема с капчей и клиентской валидацией

Сообщение Paromon »

Arroyo писал(а):Попробуйте так

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

<?php $form = ActiveForm::begin([
                    'id'                     => 'form',
                    'enableAjaxValidation'   => false, 
                    'enableClientValidation' => true,
                ]); ?>
в сессию пишет все хорошо но при этом правила для поля капчи не совпадает с проверкой в сессии т.е:
до обновления картинки
правило поля: ertert
параметр сесии: ertert
после обновления картинки
правило поля: ertert
параметр сесии: werwer
в итоге если ввести параметр совпадающий с правилом поля страница обновится но как будто была ошибка ввода, а если ввести параметр совпадающий с параметром сессии то кнопка не нажимается из-за того что правило поля не соответствует. Господа какие будут предложения? :shock:

Ответить