mirror of
https://github.com/elyby/accounts.git
synced 2025-05-31 14:11:46 +05:30
Образован валидатор UsernameValidator
This commit is contained in:
@@ -11,6 +11,7 @@ use common\models\EmailActivation;
|
||||
use common\models\UsernameHistory;
|
||||
use common\validators\LanguageValidator;
|
||||
use common\validators\PasswordValidate;
|
||||
use common\validators\UsernameValidator;
|
||||
use Exception;
|
||||
use Ramsey\Uuid\Uuid;
|
||||
use Yii;
|
||||
@@ -40,7 +41,7 @@ class RegistrationForm extends ApiForm {
|
||||
['captcha', ReCaptchaValidator::class],
|
||||
['rulesAgreement', 'required', 'message' => E::RULES_AGREEMENT_REQUIRED],
|
||||
|
||||
['username', 'validateUsername', 'skipOnEmpty' => false],
|
||||
['username', UsernameValidator::class],
|
||||
['email', 'validateEmail', 'skipOnEmpty' => false],
|
||||
|
||||
['password', 'required', 'message' => E::PASSWORD_REQUIRED],
|
||||
@@ -53,14 +54,6 @@ class RegistrationForm extends ApiForm {
|
||||
];
|
||||
}
|
||||
|
||||
public function validateUsername() {
|
||||
$account = new Account();
|
||||
$account->username = $this->username;
|
||||
if (!$account->validate(['username'])) {
|
||||
$this->addErrors($account->getErrors());
|
||||
}
|
||||
}
|
||||
|
||||
public function validateEmail() {
|
||||
$account = new Account();
|
||||
$account->email = $this->email;
|
||||
|
@@ -4,11 +4,10 @@ namespace api\models\profile;
|
||||
use api\models\AccountIdentity;
|
||||
use api\models\base\ApiForm;
|
||||
use api\validators\PasswordRequiredValidator;
|
||||
use common\helpers\Error;
|
||||
use common\helpers\Amqp;
|
||||
use common\models\Account;
|
||||
use common\models\amqp\UsernameChanged;
|
||||
use common\models\UsernameHistory;
|
||||
use common\validators\UsernameValidator;
|
||||
use Exception;
|
||||
use PhpAmqpLib\Message\AMQPMessage;
|
||||
use Yii;
|
||||
@@ -22,23 +21,13 @@ class ChangeUsernameForm extends ApiForm {
|
||||
|
||||
public function rules() {
|
||||
return [
|
||||
['username', 'required', 'message' => Error::USERNAME_REQUIRED],
|
||||
['username', 'validateUsername'],
|
||||
['username', UsernameValidator::class, 'accountCallback' => function() {
|
||||
return $this->getAccount()->id;
|
||||
}],
|
||||
['password', PasswordRequiredValidator::class],
|
||||
];
|
||||
}
|
||||
|
||||
public function validateUsername($attribute) {
|
||||
$account = new Account();
|
||||
$account->id = $this->getAccount()->id;
|
||||
$account->username = $this->$attribute;
|
||||
// Это чтобы unique validator учёл, что ник может быть забит на текущий аккаунт
|
||||
$account->setIsNewRecord(false);
|
||||
if (!$account->validate(['username'])) {
|
||||
$this->addErrors($account->getErrors());
|
||||
}
|
||||
}
|
||||
|
||||
public function change() {
|
||||
if (!$this->validate()) {
|
||||
return false;
|
||||
|
Reference in New Issue
Block a user