yii中的验证规则

时间:2011-11-27 15:06:09

标签: php validation yii

以下是验证规则

public function rules()
    {
        return array(
            // username and password are required
            array('oldPassword', 'required'),
            array('oldPassword', 'authenticate'),
                    ....
        );
    }
public function authenticate($attribute,$params)
{
    $this->userModel=User::model()->findByPk(Yii::app()->user->id);
    if($this->userModel!=null){
      if(!$this->userModel->validatePassword($this->oldPassword))
        $this->addError($attribute, "Incorrect current password");
    }
}

一切正常,但问题出在这里......当我将oldPassword留空时,“必需”和&的验证错误显示“身份验证”,而我想显示第一个的错误信息,如果不是空白,则显示后者。

1 个答案:

答案 0 :(得分:2)

authenticate()中添加条件,仅验证oldPassword是否为空:

 public function authenticate($attribute, $params) {
      if ($this->oldPassword) {
          ...
      }
 }