Логика проверки ключа из KeyConfirmationForm вынесена в отдельный валидатор

У EmailActivationFixture зафиксирован стандартный путь к файлу данных
This commit is contained in:
ErickSkrauch
2016-05-15 01:33:21 +03:00
parent 0ba1be27e8
commit e2e31c3720
8 changed files with 133 additions and 92 deletions

View File

@@ -0,0 +1,33 @@
<?php
namespace api\validators;
use common\models\EmailActivation;
use yii\validators\Validator;
class EmailActivationKeyValidator extends Validator {
public $notExist = 'error.key_not_exists';
public $expired = 'error.key_expire';
public function validateValue($value) {
if (($model = $this->findEmailActivationModel($value)) === null) {
return [$this->notExist, []];
}
if ($model->isExpired()) {
return [$this->expired, []];
}
return null;
}
/**
* @param string $key
* @return null|EmailActivation
*/
protected function findEmailActivationModel($key) {
return EmailActivation::findOne($key);
}
}