qualitat
@qualitat

Yii2. Не парсятся данные при ajax валидации формы?

Привет, друзья.

Столкнулся с аномалией (для меня). До этого много работал с Yii1, таких проблем не было.

Работаю с дефолтной формой регистрации которая ставится в yii2

Дополнительно указал настройки:
$form = ActiveForm::begin(['id' => 'signupform',
                'enableAjaxValidation' => true,
                'enableClientValidation' => false]);


В контроллере добавил:
if (\Yii::$app->request->isAjax && $model->load(\Yii::$app->request->isPost)) {
            \Yii::$app->response->format = \yii\web\Response::FORMAT_JSON;
            return \yii\widgets\ActiveForm::validate($model);
        }


Суть в том, что валидация то идет, ответ приходит в виде страницы, но эта страница не парсится для отображения ошибок на текущей странице.

Еще интересный момент. Когда все поля заполняю правильно, происходит автоматическая регистрация, т.е. даже на кнопку submit нажимать не нужно.

И еще момент. Если убираю в контроллере $model->load(...), то страница с ответом парсится и везде указываются ошибки Field can not be blank. Это правильно.

Возможно я что-то где-то пропустил. Буду рад если поможете.

Заранее спасибо.
  • Вопрос задан
  • 175 просмотров
Решения вопроса 1
webinar
@webinar Куратор тега Yii
Учим yii: https://youtu.be/-WRMlGHLgRg
$model->load(\Yii::$app->request->isPost)
заменить на
$model->load(\Yii::$app->request->post)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы