Использование метода «dot» для проверки свойств в массиве
Например, если входящий HTTP-запрос содержит поле search[keyword]
, его можно проверить следующим образом:
protected $rule = [
'search.order' => 'numeric|between:1,2',
'search.keyword' => 'chsAlphaNum',
'search.recycle' => 'boolean',
];
Также можно проверять каждый элемент в поле массива. Например, чтобы убедиться, что каждый id в заданном поле массива входных данных уникален, можно сделать следующее:
protected $rule = [
'search.*.id' => 'numeric|unique:account'
];
Определение сообщения об ошибке для правила массива выглядит так:
protected $message = [
'search.order.numeric' => 'ошибка параметра order',
'search.order.between' => 'ошибка параметра order',
'search.keyword.chsAlphaNum' => 'Ключевые слова могут содержать только китайские символы, буквы и цифры',
'search.recycle.boolean' => 'Ошибка параметра recycle',
];
Правила пользовательской проверки также можно установить с помощью метода setRules
. Этот метод будет перекрывать данные. Если параметр равен null
, то все правила будут очищены.
// Определение в классе
protected $rule = [
'user' => 'required'
];
// Использование метода
$v->setRules([
'user' => 'required'
]);
Сообщения об ошибках пользовательской проверки можно также установить с помощью метода setMessages
. Этот метод будет перекрывать данные, а если параметр равен null
— все сообщения об ошибках будут очищены.
// Определение в классе
protected $message = [
'user.required' => 'пользователь обязателен'
];
// Использование метода
$v->setMessages([
'user.required' => 'пароль обязателен'
]);
Для получения дополнительной информации обратитесь к разделу Message.
Определяет данные сценария проверки, который используется для указания полей проверки, соответствующих сценарию проверки и т. д. Подробные сведения см. в разделе validate scene. То же самое можно сделать с помощью метода setScene
. Этот метод будет перекрывать данные, и если параметр равен null
, все сценарии проверки будут очищены.
// Определение в классе
protected $scene = [
'login' => ['user', 'pass']
];
// Использование метода
$v->setScene([
'login' => ['user', 'pass']
]);
Определяет глобальные события в рамках этого валидатора. Подробные сведения см. в разделе Events.
protected $handler = [
CheckSiteStatus::class
];
Определяет обработчик предварительной обработки поля.
protected $preprocessor = [
'name' => ['Default Name', ProcessorExecCond::WHEN_EMPTY]
];
Дополнительные сведения об обработчиках предварительной обработки см. в разделе Processor.
Определяет обработчик последующей обработки поля.
protected $postprocessor = [
'name' => ['trim', ProcessorExecCond::WHEN_NOT_EMPTY, ProcessorParams::Value]
];
Дополнительные сведения о обработчиках последующей обработки см. в разделе Processor.
Определяет имя поля проверки. Также может быть установлено с помощью метода setCustomAttributes
. Этот метод будет перекрывать данные, и если параметр равен null
, будут очищены все имена полей.
:attribute в сообщении об ошибке будет заменён значением, соответствующим следующему:
protected $customAttributes = [
'user' => 'Account',
'pass' => 'Password'
];
Сообщение об ошибке при неудачной проверке пользовательского метода в текущем классе.
protected $ruleMessage = [
'Значение :attribute может содержать только китайский язык'
];
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )