Каким образом работает встроенная Ajax валидация в Yii2?

Допустим, я хочу проверить поле на уникальность.

Во вьюшке включаю enableAjaxValidation:
$form = ActiveForm::begin([
    'id' => 'signup-form',
    'enableAjaxValidation' => true,
]);

В действии контроллера принимаю Ajax запрос:
if (Yii::$app->request->isAjax && $model->load(Yii::$app->request->post())) {
    Yii::$app->response->format = Response::FORMAT_JSON;
    return ActiveForm::validate($model);
}

Хорошо, все это понятно. Но как теперь обработать этот запрос? Кому этот ActiveForm::validate($model) возвращается?
Естественно мне нужно сделать так, чтобы данные отправлялись без перезагрузки страницы.
  • Вопрос задан
  • 9458 просмотров
Пригласить эксперта
Ответы на вопрос 2
@saskasa
Чтобы отправить данные из формы без перезагрузки страницы перехватите событие:
$('#signup-form').on('beforeSubmit', function(e){
	console.log('beforeSubmit');
	return false;
});

Событие beforeSubmit вызывается до отправки формы когда все проверки пройдены.
Ответ написан
Комментировать
AccessDenied80
@AccessDenied80
Web разработка
Запрос обработается без Вашего участия, если Вы все правильно сделали.
Вот посмотрите урок, тут все понятно будет https://www.youtube.com/watch?v=URhvUwebSvc
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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