我试图验证我的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 :(得分:0)
将它包含在ActiveForm
config。
可以发出请求,但表单将保持不变。
你还应该准备你的控制器(在CRUD生成的控制器中它们是create
和update
,在你的情况下,它可以只有一个 - 它负责更新密码)以返回正确的JSON数据AJAX请求的情况。
了解如何在official documentation中完成。
答案 1 :(得分:0)
模型类场景函数必须具有默认选项:
public function scenarios()
{
return [
'default' => ['old_password', 'new_password', 'confirm_password']
];
}