Example #1
0
 public function rules()
 {
     return [['username', 'filter', 'filter' => 'trim'], ['username', 'required'], ['username', 'string', 'min' => 3, 'max' => 20], ['username', 'match', 'pattern' => '/^[A-Za-z0-9_]+$/u', 'message' => "Логин должен состоять только из латинских букв и цифр без пробелов"], ['password', 'required'], ['password', function () {
         $this->user = User::findByUsername($this->username);
         if (is_null($this->user) or !$this->user->validatePassword($this->password)) {
             $this->addError('password', 'Неверный логин или пароль');
         }
     }]];
 }
Example #2
0
 public function actionSignup()
 {
     $signupForm = new SignupForm();
     if (Yii::$app->request->isAjax && $signupForm->load(Yii::$app->request->post())) {
         Yii::$app->response->format = Response::FORMAT_JSON;
         return ActiveForm::validate($signupForm);
     } else {
         if ($signupForm->load(Yii::$app->getRequest()->post()) && $signupForm->signup()) {
             $user = User::findByUsername($signupForm->username);
             Yii::$app->user->login($user);
             return $this->goBack();
         }
     }
     return $this->renderAjax('signup', ['model' => $signupForm]);
 }