/
v.bolshakov
/
AIEcosystem-Testing
Обзор
Документация
Войти
/
v.bolshakov
/
AIEcosystem-Testing
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
dev
common/validators/UidValidator.php
56 строк
1 KB
Developer
Initial commit
03 авг 2026, 17:43
03 авг 2026, 17:43
7433917
Код
Авторство
О чём код?
<?php namespace common\validators; use yii\validators\Validator; use Yii; /** * Валидатор проверки GUID формата * * @author Dmitry E. Semenov <sde.tomsk@gmail.com> * @copyright Self (c) 2019-2022 */ class UidValidator extends Validator { /** * GUID null const */ const GUID_NULL = '00000000-0000-0000-0000-000000000000'; /** * @inheritdoc */ public function init() { parent::init(); if ($this->message === null) { $this->message = Yii::t('app', 'GUID invalid format (00000000-0000-0000-0000-000000000000)'); } } /** * @inheritdoc */ public function validateAttribute($model, $attribute) { $GUID = $model->$attribute; $result = $this->validateValue($GUID); if (!empty($result)) { $this->addError($model, $attribute, $result[0], $result[1]); } } /** * {@inheritdoc} */ protected function validateValue($value) { // valid format: d2877784-a9aa-11e7-b407-005056b464a4 if (!preg_match('/^[0-9a-z]{8}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{12}$/', $value)) { return [$this->message, []]; } } }