mirror of
https://github.com/Sarjuuk/aowow.git
synced 2025-11-29 15:58:16 +08:00
Response/Params
* so we can't directly use BackedEnum::tryFrom as validator, because if the Enum is of <int> and the string is not what php considers numeric, we get a straight TypeError Exception instead of null for failing the tryFrom.
This commit is contained in:
@@ -9,7 +9,7 @@ if (!defined('AOWOW_REVISION'))
|
||||
class DataBaseResponse extends TextResponse
|
||||
{
|
||||
protected array $expectedGET = array(
|
||||
'locale' => ['filter' => FILTER_CALLBACK, 'options' => [Locale::class, 'tryFrom'] ],
|
||||
'locale' => ['filter' => FILTER_CALLBACK, 'options' => [self::class, 'checkLocale' ]],
|
||||
't' => ['filter' => FILTER_CALLBACK, 'options' => [self::class, 'checkTextLine' ]],
|
||||
'catg' => ['filter' => FILTER_VALIDATE_INT ],
|
||||
'skill' => ['filter' => FILTER_CALLBACK, 'options' => [self::class, 'checkSkill' ]],
|
||||
|
||||
@@ -45,7 +45,7 @@ class GuideEditResponse extends TemplateResponse
|
||||
'description' => ['filter' => FILTER_CALLBACK, 'options' => [self::class, 'checkDescription'] ],
|
||||
'changelog' => ['filter' => FILTER_CALLBACK, 'options' => [self::class, 'checkTextBlob'] ],
|
||||
'body' => ['filter' => FILTER_CALLBACK, 'options' => [self::class, 'checkTextBlob'] ],
|
||||
'locale' => ['filter' => FILTER_CALLBACK, 'options' => [Locale::class, 'tryFrom'] ],
|
||||
'locale' => ['filter' => FILTER_CALLBACK, 'options' => [self::class, 'checkLocale'] ],
|
||||
'category' => ['filter' => FILTER_VALIDATE_INT, 'options' => ['min_value' => 1, 'max_value' => 9] ],
|
||||
'specId' => ['filter' => FILTER_VALIDATE_INT, 'options' => ['min_value' => -1, 'max_value' => 2, 'default' => -1]],
|
||||
'classId' => ['filter' => FILTER_VALIDATE_INT, 'options' => ['min_value' => 1, 'max_value' => 11, 'default' => 0]]
|
||||
|
||||
@@ -9,7 +9,7 @@ if (!defined('AOWOW_REVISION'))
|
||||
class LocaleBaseResponse extends TextResponse
|
||||
{
|
||||
protected array $expectedGET = array(
|
||||
'locale' => ['filter' => FILTER_CALLBACK, 'options' => [Locale::class, 'tryFrom']]
|
||||
'locale' => ['filter' => FILTER_CALLBACK, 'options' => [self::class, 'checkLocale']]
|
||||
);
|
||||
|
||||
protected function generate() : void
|
||||
|
||||
@@ -645,6 +645,13 @@ abstract class BaseResponse
|
||||
return preg_replace('/ +/', ' ', trim($str));
|
||||
}
|
||||
|
||||
protected static function checkLocale(string $localeId) : ?Locale
|
||||
{
|
||||
if (Util::checkNumeric($localeId, NUM_CAST_INT))
|
||||
return Locale::tryFrom($localeId);
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
/********************/
|
||||
/* child implements */
|
||||
|
||||
Reference in New Issue
Block a user