12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- <?php
- namespace frontend\models;
- use yii\base\Model;
- use common\models\User;
- /**
- * Signup form
- */
- class SignupForm extends Model
- {
- public $username;
- public $email;
- public $password;
- /**
- * @inheritdoc
- */
- public function rules()
- {
- return [
- ['username', 'trim'],
- ['username', 'required'],
- ['username', 'unique', 'targetClass' => '\common\models\User', 'message' => 'This username has already been taken.'],
- ['username', 'string', 'min' => 2, 'max' => 255],
- ['email', 'trim'],
- ['email', 'required'],
- ['email', 'email'],
- ['email', 'string', 'max' => 255],
- ['email', 'unique', 'targetClass' => '\common\models\User', 'message' => 'This email address has already been taken.'],
- ['password', 'required'],
- ['password', 'string', 'min' => 6],
- ];
- }
- /**
- * Signs user up.
- *
- * @return User|null the saved model or null if saving fails
- */
- 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;
- }
- }
|