YII2 на размытие Ajax валидация не работает

Я пытался проверить мою форму смены пароля YII2. Но я застрял на YII2 на проверку размытия.

    <?php

use yii\bootstrap\ActiveForm;
use yii\helpers\Html;
?>
<?php
$form = ActiveForm::begin([
'id' => 'change-password',
'action' => $action,
'enableAjaxValidation' => true
]);
?>
<?php echo $form->field($model, 'old_password')->label(false)->passwordInput(['placeholder' => 'Your Old Password', 'class' => 'form-control']); ?><?php echo $form->field($model, 'new_password')->label(false)->passwordInput(['placeholder' => 'Your New Password', 'class' => 'form-control']); ?><?php echo $form->field($model, 'confirm_password')->label(false)->passwordInput(['placeholder' => 'Confirm Your New Password', 'class' => 'form-control']); ?><?php echo Html::submitButton('Submit', array('class' => 'btn btn-primary')); ?>
<?php ActiveForm::end(); ?>

Может кто-нибудь сообщить мне, что я делаю неправильно?

0

Решение

Недостаточно просто включить его в ActiveForm конфигурации.

Запросы могут быть отправлены, но форма останется без изменений.

Вы также должны подготовить свои контроллеры (в сгенерированных CRUD контроллерах они create а также update, в вашем случае это может быть только один — который отвечает за обновление пароля), чтобы вернуть надлежащие данные JSON в случае запроса AJAX.

Посмотрите, как это делается в официальная документация.

0

Другие решения

Функция класса Сценарий класса должна иметь опцию по умолчанию:

public function scenarios()
{
return [
'default' => ['old_password', 'new_password', 'confirm_password']
];
}
0

По вопросам рекламы [email protected]