CActiveForm的rules的问题 [ 新手入门 ]
CActiveForm
视图:
密码1 <?php echo $form->passwordField($model,'userPassword'); ?>
密码2 <?php echo $form->passwordField($model,'userPassword2'); ?>
报Property "user.userPassword2" is not defined.这个错误,是不是userPassword2这个名字一定要是数据表里的字段?
模型:
array('userPassword', 'compare', 'compareAttribute'=>'userPassword2','message'=>'密码不一致'),
如果想用模型里的这个验证,应该怎么做?
共 5 条回复
-
模型里:
public function attributeLabels() { return array( 'userName' => '用户名', 'userPassword' => '用户密码', 'userPassword2' => '用户密码2', ); } public function rules() { return array( array('userName, userPassword', 'required','message'=>'{attribute}不能为空'), array('userName', 'unique','message'=>'用户名{attribute}已被占用'), array('userName', 'length', 'max'=>64), array('userPassword', 'length', 'max'=>32), array('userPassword2', 'length', 'max'=>32), array('userPassword', 'compare', 'compareAttribute'=>'userPassword2','message'=>'密码不一致'), // The following rule is used by search(). // Please remove those attributes that should not be searched. array('userId, userName, userPassword, userType', 'safe', 'on'=>'search'), ); }
这样定义了,还是会报刚才那个错误?不是这样定义?
allen_php
注册时间:2012-01-04
最后登录:2018-12-10
在线时长:7小时49分
最后登录:2018-12-10
在线时长:7小时49分
- 粉丝3
- 金钱320
- 威望0
- 积分390