| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- <?php
- /**
- * Author: lf
- * Blog: https://blog.feehi.com
- * Email: job@feehi.com
- * Created at: 2019-05-11 22:26
- */
- namespace api\models\form;
- use Yii;
- use common\models\User;
- class SignupForm extends \yii\base\Model
- {
- public $username;
- public $email;
- public $password;
- public function rules()
- {
- return [
- ['username', 'filter', 'filter' => 'trim'],
- ['username', 'required'],
- [
- 'username',
- 'unique',
- 'targetClass' => User::className(),
- 'message' => Yii::t('app', '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('app', 'This email address has already been taken')
- ],
- ['password', 'required'],
- ['password', 'string', 'min' => 6],
- ];
- }
- public function attributeLabels()
- {
- return [
- 'username' => Yii::t('app', 'Username'),
- 'email' => Yii::t('app', 'Email'),
- 'password' => Yii::t('app', 'Password'),
- ];
- }
- 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;
- }
- }
|