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

OSCHINA-MIRROR/we7coreteam-w7-engine-validate

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
README.md 8.8 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 30.11.2024 20:53 95d6d0f

Микро-мечта: проверка форм

Star Fork

Последняя стабильная версия Тесты Лицензия Требования PHP

| 中文 | English

Введение

Расширение, которое делает проверку ваших форм более удобной, быстрой и безопасной, удовлетворяя все ваши потребности в проверке.

Содержание

Установка

Используйте команду composer:

composer require itwmw/validate

Полный документ см. на полном документе.

Простая проверка

Поддерживает простое определение валидатора и выполнение проверки:

try {
    $data = Validate::make([
        'user' => 'required|email',
        'pass' => 'required|lengthBetween:6,16',
    ], [
        'user.required'      => 'Пожалуйста, введите имя пользователя',
        'user.email'         => 'Неверное имя пользователя',
        'pass.required'      => 'Введите пароль',
        'pass.lengthBetween' => 'Длина пароля от 6 до 16 символов',
    ])->check($data);
} catch (ValidateException $e) {
    echo $e->getMessage();
}

Если проверка пройдена, то возвращаются все проверенные значения. Если нет, то выбрасывается исключение Itwmw\Validate\Exception\ValidateException.

Определение валидаторов

Для конкретного сценария проверки или формы данных определите класс валидатора, который наследуется от класса Itwmw\Validate\Validate, затем создайте экземпляр и вызовите метод check класса валидации для выполнения проверки. Вот пример:

Мы определяем класс LoginValidate для проверки входа в систему.

class LoginValidate extends Validate
{
    protected $rule = [
        'user' => 'required|email',
        'pass' => 'required|digits_between:6,16',
    ];
    
    protected $message = [
        'user.required'       => 'Пожалуйста, введите имя пользователя',
        'user.email'          => 'Неверное имя пользователя',
        'pass.required'       => 'Введите пароль',
        'pass.digits_between' => 'Длина пароля от 6 до 16 символов',
    ];
}
Свойства класса определяют сообщения об ошибках, которые имеют приоритет над сообщениями по умолчанию в пользовательских правилах и сообщениями возврата из пользовательских методов правил.

Проверка данных

$data = [
    'user' => '123@qq.com',
    'pass' => ''
];
$validate = new LoginValidate();
$validate->check($data);

В этом случае будет выброшено исключение Itwmw\Validate\Exception\ValidateException с сообщением «Введите пароль».

$data = [
    'user' => '123@qq.com',
    'pass' => '123456'
];
$validate = new LoginValidate();
$data = $validate->check($data);

Проверка прошла успешно, и возвращается проверенное значение в виде массива. ### Сцена

Определение данных для проверки сцены, используется для указания полей, соответствующих проверяемой сцене и т. д. Подробные инструкции см. в разделе «Проверка сцены». Также можно выполнить настройку с помощью метода setScene. Этот метод является кумулятивным. Если параметр равен null, то все сцены проверки будут очищены.

// Определение класса
protected $scene = [
    'login' => ['user', 'pass']
];

// Использование метода определения
$v->setScene([
    'login' => ['user', 'pass']
]);

Событие

Определение глобального события для этого валидатора. Подробные инструкции см. в разделе «События».

protected $event = [
    CheckSiteStatus::class
];

CustomAttributes

Определение имени поля проверки. Можно также выполнить настройку с помощью метода setCustomAttributes. Этот метод является кумулятивным. Если параметр равен null, то имена всех полей будут очищены. В сообщении об ошибке :attribute будет использоваться соответствующее значение замены.

protected $customAttributes = [
    'user' => '账号',
    'pass' => '密码'
];

Preprocess

Для поля определяется предварительный обработчик данных.

protected $preprocessor = [
    'name' => ['默认名称', ProcessorExecCond::WHEN_EMPTY]
];

Подробности о предварительном обработчике данных см. в разделе «Обработчик данных».

Postprocessor

Определяет постпроцессор для поля.

protected $postprocessor = [
    'name' => ['trim', ProcessorExecCond::WHEN_NOT_EMPTY, ProcessorParams::Value]
];

Подробнее о постпроцессоре данных см. в разделе «Обработчик данных».

RuleMessage

Сообщение об ошибке при неудачной проверке пользовательского метода в текущем классе.

 protected $ruleMessage = [
':attribute的值只能具有中文'
];

См. пример.

Regex

Предопределённое правило проверки регулярного выражения. Подробнее см. раздел «Правила регулярного выражения».

protected $regex = [
'number' => '/^\d+$/'
];

Group

Определение группы правил проверки.

protected $group = [
'username' => 'alpha_num|min:5|max:10'
];

protected $rule = [
'username' => 'required|username'
];

Также можно использовать формат массива:

protected $group = [
'username' => [
'alpha_num',
'min:5',
'max:10
]
];

protected $rule = [
'username' => 'required|username'
];

Благодарности

Благодарим Jetbrains за предоставление лицензии на открытый исходный код IDE.

Опубликовать ( 0 )

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

1
https://api.gitlife.ru/oschina-mirror/we7coreteam-w7-engine-validate.git
git@api.gitlife.ru:oschina-mirror/we7coreteam-w7-engine-validate.git
oschina-mirror
we7coreteam-w7-engine-validate
we7coreteam-w7-engine-validate
6.x