'trim'], ['username', 'required'], [ 'username', 'unique', 'targetClass' => User::className(), 'message' => Yii::t('frontend', 'This username has already been taken') ], ['username', 'string', 'min' => 2, 'max' => 255], ['email', 'filter', 'filter' => 'trim'], ['email', 'required'], ['email', 'email'], ['email', 'string', 'max' => 255], [ 'email', 'unique', 'targetClass' => User::className(), 'message' => Yii::t('frontend', 'This email address has already been taken') ], ['password', 'required'], ['password', 'string', 'min' => 6], ]; } /** * @inheritdoc */ public function attributeLabels() { return [ 'username' => Yii::t('app', 'Username'), 'email' => Yii::t('app', 'Email'), 'old_password' => Yii::t('app', 'Old Password'), 'password' => Yii::t('app', 'Password'), 'repassword' => Yii::t('app', 'Repeat Password'), 'avatar' => Yii::t('app', 'Avatar'), 'created_at' => Yii::t('app', 'Created At'), 'updated_at' => Yii::t('app', 'Updated At'), 'rememberMe' => Yii::t('frontend', 'Remember Me'), ]; } /** * Signs user up. * * @return User|null the saved model or null if saving fails * @throws \yii\base\Exception */ public function signup() { if (! $this->validate()) { return null; } $user = new User(); $user->username = $this->username; $user->email = $this->email; $user->setPassword($this->password); $user->generateAuthKey(); return $user->save() ? $user : null; } }