Как решить проблему с валидацией подключенной через ajax формы?

Есть у меня view:
<div class="row">
    <div class="form-group">
        <button class="btn btn-primary" id="add_form">Add form</button>
    </div>
    <div class="col-md-12" id="form">

    </div>
</div>

При нажатии на кнопку через ajax подгружаеться форма:
Контроллер
public function actionAddForm()
    {
        $tourist = new Tourist();

        return $this->renderAjax('add-form', [
            'tourist' => $tourist
        ]);
    }

И сама форма
<?php $form = ActiveForm::begin([
    'action' => ['validate-form'],
    'validationUrl' => ['validate-form'],
    'enableAjaxValidation' => true,
    'enableClientValidation' => true
]) ?>
    <?= $form->field($tourist, 'name')->textInput() ?>
    <?= $form->field($tourist, 'surname')->textInput() ?>
    <?= Html::submitButton('sbmt', ['class' => 'btn btn-success']) ?>
<?php $form::end() ?>

Метод на который идут ajax запросы:
public function actionValidateForm()
    {
        $tourist = new Tourist();

        if(Yii::$app->request->isAjax && $tourist->load(Yii::$app->request->post()))
        {
            Yii::$app->response->format = Response::FORMAT_JSON;
            return ActiveForm::validate($tourist);
        }
    }

Проблема в том, что ajax запросы не отправляются вообще.
И не работает клиентская валидация
Заранее спасибо
  • Вопрос задан
  • 203 просмотра
Пригласить эксперта
Ответы на вопрос 1
webinar
@webinar Куратор тега Yii
Учим yii: https://youtu.be/-WRMlGHLgRg
что ajax запросы не отправляются вообще.

с чего Вы это решили? Вы уверенны? Должна валидация по ajax стучаться. Проверьте что в консоле браузера, может там зоопарк js ошибок?

И не работает клиентская валидация

вы ее отключили
'enableClientValidation' => false
поэтому она и не работает
Ответ написан
Ваш ответ на вопрос

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

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