Yii2 ActiveRecord rules()函数不能验证自定义属性? [ 2.0 版本 ]
为什么我的完全没用呢?
自定义属性
public $password_old;
public $password_new;
public $password_new_re;
/**
* 验证规则
* @inheritdoc
*/
public function rules()
{
return [
['admin_email', 'required', 'message' => '管理员账号不能为空', 'on' => ['login']],
['admin_email', 'email', 'message' => '管理员邮箱格式错误', 'on' => ['login']],
['password', 'required', 'message' => '管理员密码不能为空', 'on' => ['login']],
['password_old', 'required', 'message' => '请输入原始密码', 'on' => ['change_pass']],
['password_new', 'required', 'message' => '请输入原始密码', 'on' => ['change_pass']],
['password_new_re', 'required', 'message' => '请确认密码', 'on' => ['change_pass']],
['password_new_re', 'compare', 'compareAttribute' => 'password_new','message' => '两次密码输入不一致', 'on' => ['change_pass']],
];
}
$form = ActiveForm::begin([
'fieldConfig' => [
'template' => '{label}{input}{error}',
],
]);
?>
<?= $form->field($model_admin, 'admin_name')->textInput(['class' => 'form-control', 'placeholder' => '请输入图书名称', 'readonly' => true]) ?>
<?= $form->field($model_admin, 'password_old')->textInput(['class' => 'form-control', 'placeholder' => '请输入原密码']) ?>
<?= $form->field($model_admin, 'password_new')->textInput(['class' => 'form-control', 'placeholder' => '请输入新密码']) ?>
<?= $form->field($model_admin, 'password_new_re')->textInput(['class' => 'form-control', 'placeholder' => '请确认密码']) ?>
<?= Html::submitButton('确认修改', ['class' => 'btn btn-primary']); ?>
<?php ActiveForm::end(); ?>
ADKi 补充于 2017-06-05 14:54
$model_admin->scenario = 'change_pass';
在 控制层加上这个就好了,没写场景
共 0 个回答
没有找到数据。
ADKi 天津
注册时间:2015-11-17
最后登录:2017-06-23
在线时长:3小时54分
最后登录:2017-06-23
在线时长:3小时54分
- 粉丝0
- 金钱65
- 威望0
- 积分95