Здравствуйте. Понимаю, что тема довольно заезженная, но после дня проб ничего не получилось. Суть такая: есть виджет, в нем форма для добавления комментария и лист вью
<?
$form = ActiveForm::begin(['id' => 'form-feedback',
'enableAjaxValidation' => true,
'action' => '/feedback/index'
]);?>
?>
<?= $form->field($model, 'name')->textInput(['value' => !Yii::$app->user->isGuest ? Yii::$app->user->identity->username : '']) ?>
<?= $form->field($model, 'email')->textInput(['type' => 'email', 'value' => !Yii::$app->user->isGuest ? Yii::$app->user->identity->email : ''])?>
<?= $form->field($model, 'comments')->textarea(['rows' => 5]) ?>
<?= $form->field($model, 'id_obj')->textInput(['type' => 'hidden', 'value' => $id_obj])->label(false)?>
<?= $form->field($model, 'type')->textInput(['type' => 'hidden', 'value' => $type])->label(false)?>
<div class="form-group">
<?= Html::submitButton('<span>Отправить</span>', ['class' => 'btn btn-primary reg-btn', 'name' => 'signup-button']) ?>
</div>
<?php ActiveForm::end(); ?>
<?= ListView::widget([
'dataProvider' => $dataProvider,
'itemView' => '_list',
'layout' => "{summary}\n{items}\n{pager}",
'summary' => '',
'itemOptions' => [
'tag' => 'div',
'class' => 'feedback',
],
]);
?>
контроллер, который обрабатывает данные
public function actionIndex(){
$model = new Feedback;
if (Yii::$app->request->isAjax && $model->load(Yii::$app->request->post())) {
Yii::$app->response->format = Response::FORMAT_JSON;
return ActiveForm::validate($model);
}
if ($model->load(Yii::$app->request->post()) && $model->save()) {
return Yii::$app->getResponse()->redirect(['/']);
}
}
Задача такова, что нужно при сабмите формы делать валидацию, сохранять данные и сразу обновлять лист вью без перезагрузки.
Много разных способов пробовал, но получаю ошибки в консоли, одна из них ошибка pjax Aborted.
Заранее благодарю за помощь.