예제 #1
0
 /** @inheritdoc */
 public function rules()
 {
     return [['email', 'filter', 'filter' => 'trim'], ['email', 'required'], ['email', 'email'], ['email', 'exist', 'targetClass' => $this->module->modelMap['User'], 'message' => \Yii::t('user', 'There is no user with such email.')], ['email', function ($attribute) {
         $this->user = $this->finder->findUserByEmail($this->email);
         if ($this->user !== null && $this->module->enableConfirmation && !$this->user->getIsConfirmed()) {
             $this->addError($attribute, \Yii::t('user', 'You need to confirm your email address'));
         }
     }], ['password', 'required'], ['password', 'string', 'min' => 6]];
 }
예제 #2
0
 /** @inheritdoc */
 public function rules()
 {
     return [[['login', 'password'], 'required'], ['login', 'trim'], ['password', function ($attribute) {
         if ($this->user === null || !Password::validate($this->password, $this->user->password_hash)) {
             $this->addError($attribute, \Yii::t('user', 'Invalid login or password'));
         }
     }], ['login', function ($attribute) {
         if ($this->user !== null) {
             $confirmationRequired = $this->module->enableConfirmation && !$this->module->enableUnconfirmedLogin;
             if ($confirmationRequired && !$this->user->getIsConfirmed()) {
                 $this->addError($attribute, \Yii::t('user', 'You need to confirm your email address'));
             }
             if ($this->user->getIsBlocked()) {
                 $this->addError($attribute, \Yii::t('user', 'Your account has been blocked'));
             }
             // softal
             //                    if ($this->user->getIsLocked()) {
             //                        $this->addError($attribute, \Yii::t('user', 'Your account has been locked due to too many failed login attempts'));
             //                    }
         }
     }], ['rememberMe', 'boolean'], ['captcha', 'captcha', 'on' => 'captcha']];
 }