Валидатор
Да, ещё один компонент для проверки параметров PHP-приложений.
"furthestworld/validator": "~1.0"
и обновите зависимости с помощью команды composer update
.
require_once __ROOT__ . '/vendor/autoload.php';
use FurthestWorld\Validator\Src\Validator;
//Расширяем экземпляр правил валидации
Validator::extend('extend_test', new TestExtendRules());
Validator::formatParams(
$params,
[
'domain' => ['format_rule' => 'strtoupper', 'default_value' => ''],
'member_id' => ['format_rule' => 'formatExtendMemberId:domain']
]
);
Validator::validateParams(
$params,
[
'domain' => ['check_rule' => 'number#numberGt0|string#string:10,500'],
'member_id' => ['check_rule' => 'extendEq:20#number'],
]
);
if (!Validator::pass()) {
//Проверка не пройдена
var_dump(Validator::getErrors());
} else {
//Проверка пройдена
}
format_rule — правило: метод форматирования (функция PHP или пользовательская функция), форматирует параметр (если пусто, используется текущее значение поля).
default_value — установка значения по умолчанию для параметра.
force_value — принудительная перезапись значения параметра.
|
означает «или проверка» (удовлетворяет хотя бы одному из условий проверки), разделитель #
означает «и проверка» (все условия проверки должны быть удовлетворены). Разделитель :
разделяет метод и параметры, а разделитель ,
разделяет несколько параметров.Например, правило 'number#numberGt0|string#string:10,500'
при разборе на код PHP будет выглядеть так:
if((number && numberGt0) || (string && string:10,500)){
...
}
Чтобы избежать конфликтов имён методов и ключевых слов PHP, к именам методов в правилах автоматически добавляется префикс
check
. Например, методыnumber
,numberGt0
иstring
соответствуют методамcheckNumber
,checkNumberGt0
иcheckString
.
format_rule
и check_rule
, помимо использования встроенных методов форматирования и проверки, также поддерживают пользовательские методы. Нужно просто зарегистрировать пользовательское правило в компоненте расширения правил, например:
Validator::extend('extend_test', new TestExtendRules());
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )