1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/xuanskyer-validator

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Валидатор

Да, ещё один компонент для проверки параметров PHP-приложений.

Установка

  • Добавьте в файл composer.json проекта:
"furthestworld/validator": "~1.0"

и обновите зависимости с помощью команды composer update.

  • В местах, где требуется использовать сервис Validator, добавьте:
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 — принудительная перезапись значения параметра.

Проверка параметров

  • check_rule — разделитель | означает «или проверка» (удовлетворяет хотя бы одному из условий проверки), разделитель # означает «и проверка» (все условия проверки должны быть удовлетворены). Разделитель : разделяет метод и параметры, а разделитель , разделяет несколько параметров.

Например, правило '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 )

Вы можете оставить комментарий после Вход в систему

Введение

Описание недоступно Развернуть Свернуть
MIT
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/xuanskyer-validator.git
git@api.gitlife.ru:oschina-mirror/xuanskyer-validator.git
oschina-mirror
xuanskyer-validator
xuanskyer-validator
master