Микро-мечта: проверка форм
| 中文 | 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
];
Определение имени поля проверки. Можно также выполнить настройку с помощью метода setCustomAttributes. Этот метод является кумулятивным. Если параметр равен null, то имена всех полей будут очищены. В сообщении об ошибке :attribute будет использоваться соответствующее значение замены.
protected $customAttributes = [
'user' => '账号',
'pass' => '密码'
];
Для поля определяется предварительный обработчик данных.
protected $preprocessor = [
'name' => ['默认名称', ProcessorExecCond::WHEN_EMPTY]
];
Подробности о предварительном обработчике данных см. в разделе «Обработчик данных».
Определяет постпроцессор для поля.
protected $postprocessor = [
'name' => ['trim', ProcessorExecCond::WHEN_NOT_EMPTY, ProcessorParams::Value]
];
Подробнее о постпроцессоре данных см. в разделе «Обработчик данных».
Сообщение об ошибке при неудачной проверке пользовательского метода в текущем классе.
protected $ruleMessage = [
':attribute的值只能具有中文'
];
См. пример.
Предопределённое правило проверки регулярного выражения. Подробнее см. раздел «Правила регулярного выражения».
protected $regex = [
'number' => '/^\d+$/'
];
Определение группы правил проверки.
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 )