| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899 |
- <?php
- /**
- * Author: lf
- * Blog: https://blog.feehi.com
- * Email: job@feehi.com
- * Created at: 2017-03-15 21:16
- */
- namespace frontend\models\form;
- use Yii;
- use common\models\User;
- use yii\base\Model;
- /**
- * Signup form
- */
- class SignupForm extends Model
- {
- public $username;
- public $email;
- public $password;
- /**
- * @inheritdoc
- */
- public function rules()
- {
- return [
- ['username', 'filter', 'filter' => '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;
- }
- }
|