Добавление сообщений об ошибках в запросы формы с использованием определенных условий.
Я выполняю запрос формы для обработки моих проверок.В моей форме у меня есть пара полей, но важными являются раскрытие "Месяц", "День" или "Год".Все они установлены на обязательные, и если один из них аннулирует обязательное правило, запрос формы обработает его, создав другую ошибку внутри $ validator.
Логика выглядит примерно так:
If (month = fail || day = fail || year = fail) {
$validator->errors()->add('date', 'please fill out the whole date)
}
Я бы хотел сделать это где-нибудь в моем запросе формы после проверки.
Это мои правила для поля запроса формы.
public function rules()
{
return [
'name' => 'nullable',
'sex' => 'nullable',
'phone_number' => 'nullable',
'email' => 'nullable',
'month' => 'bail|required',
'day' => 'bail|required',
'year' => 'bail|required',
];
}
И на мой взгляд (шаблон ветки) под полями выбора месяца, дня, года, у меня есть это, чтобы якобы показать мое сообщение об ошибке:
{{errors.first('date')}}
Пока я не знаю, как написать условие и добавить пользовательскую ошибкусообщение.
Редактировать: Я нашел ответ, но я не уверен, если это хорошая практика.Может быть, кто-то может найти лучший ответ, чем этот.
protected function failedValidation(Validator $validator) {
if (array_key_exists('month', $validator->failed()) ||
array_key_exists('day', $validator->failed()) ||
array_key_exists('year', $validator->failed()) ) {
$validator->getMessageBag()->add('date', 'sample error message');
}
}