'trim'], ['username', 'required'], [['username','surname'], 'string', 'min' => 2, 'max' => 255], ['email', 'filter', 'filter' => 'trim'], ['email', 'required'], ['email', 'email'], [['email','phone'], 'string', 'max' => 255], ['email', 'unique', 'targetClass' => '\common\models\Customers', 'message' => Yii::t('app','message',[ 'field' => 'Email' ])], [['phone'], 'unique', 'targetClass' => '\common\models\Customers', 'message' => Yii::t('app','message',[ 'field' => 'Телефон' ])], ['password_repeat', 'required'], ['password_repeat', 'compare', 'compareAttribute'=>'password', 'message'=> Yii::t('app', 'message_match_password') ], ['password', 'required'], ['password', 'string', 'min' => 6], [ 'verifyCode', 'safe', 'on'=>[SignupForm::SCENARIO_AJAX] ], [ 'verifyCode', 'captcha', 'on'=>[SignupForm::SCENARIO_SUBMIT] ], [ 'verifyCode', 'captcha', 'on'=>[SignupForm::SCENARIO_DEFAULT] ], ]; } /** * @inheritdoc */ public function attributeLabels() { return [ 'verifyCode' => 'Verification Code', ]; } /** * Signs user up. * * @return Customers|null the saved model or null if saving fails */ public function signup() { if (!$this->validate()) { return null; } $user = new Customers(); $user->username = $this->username; $user->surname = $this->surname; $user->email = $this->email; $user->phone = $this->phone; $user->setPassword($this->password); $user->generateAuthKey(); $user->validate(); return $user->save() ? $user : null; } }