accounts/api/validators/EmailActivationKeyValidator.php

34 lines
722 B
PHP
Raw Normal View History

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