правило валидации в yii - PullRequest
       3

правило валидации в yii

1 голос
/ 27 ноября 2011

Ниже приведено правило проверки.

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 пустым, отображаются ошибки проверки для "required" и "authentication", тогда какЯ хочу показать сообщение об ошибке для первого, если не пустое, то позднее.

1 Ответ

2 голосов
/ 27 ноября 2011

Добавить условие в authenticate() для проверки, только если oldPassword не пусто:

 public function authenticate($attribute, $params) {
      if ($this->oldPassword) {
          ...
      }
 }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...