场景验证规则显示为null

时间:2013-05-03 11:41:19

标签: php validation yii

模型对象为

UserChangePassword Object
(
    [oldPassword] => 
    [password] => 
    [verifyPassword] => 
    [_errors:CModel:private] => Array
        (
        )

    [_validators:CModel:private] => 
    [_scenario:CModel:private] => change
    [_e:CComponent:private] => 
    [_m:CComponent:private] => 
)

模型规则是

array('oldPassword, password, verifyPassword', 'required','on' => 'change'),
            array('oldPassword, password, verifyPassword', 'length', 'max'=>128, 'min' => 4,'on' => 'change','message' => Yii::t('recovery',"Incorrect password (minimal length 4 symbols).")),
            array('verifyPassword', 'compare', 'compareAttribute'=>'password','on' => 'change','message' => Yii::t('recovery',"Retype Password is incorrect.")),
            array('oldPassword', 'verifyOldPassword','on' => 'change'),

控制器创建模型为

$passwordForm = new UserChangePassword('change');
$this->renderPartial('_password', array('form' => $passwordForm));

Problem

请帮帮我?

enter image description here

1 个答案:

答案 0 :(得分:0)

rules方法必须返回验证规则数组。如下所示:

public function rules()
{
    return array(
        // validation rules go here
    );
}

如果没有(仅声明数组并且错过了return关键字) - 这可能会导致问题。