| 123456789101112131415161718192021222324252627282930313233343536 |
- <?php
- namespace App\Module\Game\Validator;
- use App\Module\Game\Services\SkinService;
- use UCore\Validator;
- /**
- * 皮肤ID验证器
- */
- class SkinIdValidator extends Validator
- {
- /**
- * 验证皮肤ID是否有效
- *
- * @param mixed $value 要验证的值
- * @param array $data 所有数据
- * @return bool
- */
- public function validate(mixed $value, array $data): bool
- {
- // 检查是否为整数
- if (!is_numeric($value) || (int)$value != $value) {
- return $this->addError('皮肤ID必须是整数');
- }
- $skinId = (int)$value;
- // 检查皮肤ID是否有效
- if (!SkinService::isValidSkinId($skinId)) {
- return $this->addError('无效的皮肤ID,有效范围为1-4');
- }
- return true;
- }
- }
|