Есть вьюха _form.
<?php if(!isset($subscribed)) : ?>
<?php $form = ActiveForm::begin([
'id' => 'subscribe',
'action' => Url::toRoute('/subscription'),
'method' => 'post',
'enableAjaxValidation' => true,
]); ?>
<div class="input-field">
<?= $form->field($model, 'email')->textInput(['placeholder' => $model->getAttributeLabel('email')])->label(false); ?>
</div>
<div class="text-center">
<?= Html::submitButton('Подписаться'); ?>
</div>
<?php ActiveForm::end(); ?>
<?php else: ?>
<div>Ура, Вы подписаны!</div>
<?php endif; ?>
Есть экшн контрллера Subscription, который валидирует форму, он же должен в случае успеха обновить саму _form.
public function actionIndex()
{
$model = new Model();
if (Yii::$app->request->isAjax) {
if ($model->load(Yii::$app->request->post()) && $model->save()) {
return $this->renderPartial('_form', ['subscribed' => true]);
} else {
\Yii::$app->response->format = \yii\web\Response::FORMAT_JSON;
return ActiveForm::validate($model);
}
}
}
При ошибках валидации все ОК, показываются, а при успешном save модели не происходит обновления _form. B консоли на вкладке network видно
<div>Ура, Вы подписаны!</div>
Но обновления не происходит.