accounts/api/validators/EmailActivationKeyValidator.php
ErickSkrauch e2e31c3720 Логика проверки ключа из KeyConfirmationForm вынесена в отдельный валидатор
У EmailActivationFixture зафиксирован стандартный путь к файлу данных
2016-05-15 14:13:51 +03:00

34 lines
722 B
PHP

<?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);
}
}