Laravel: Как я могу написать свой собственный условный валидатор?

У меня есть форма, которая запрашивает несколько файлов, и описание этих файлов. Что-то вроде

<input type="file" name="file1">
Describe your file:
<input type="text" name="desc1">

Я хочу, чтобы пользователь описал содержимое файла, а не только показывал что-то вроде Invoices-final-FinalV30.docx он может сказать «Счета-фактуры за январь 2018 года», поэтому, когда я проверяю форму, я знаю, как спросить, следует ли поле регулярному выражению, или если поле является обязательным и т. д., используя метод validate (), но я хочу что-то нестандартное, то, что делает «desc1» обязательным ТОЛЬКО, если есть «file1», если нет «file1», я могу смело игнорировать то, что несет «desc1».

0

Решение

Попробуйте required_with: проверка другого поля

https://laravel.com/docs/5.7/validation

$validator = Validator::make(
$request->all(),
[
'file1' =>  'mimes:jpeg,bmp,png', //your file validation
'desc1'  => 'bail|required_with:file1' //add other description validations
]
);

Для полей массива, пример с именем upload[][file] , upload[][desc]

$validator = Validator::make($request->all(), [
'upload.*.file' => 'mimes:jpeg,bmp,png',
'upload.*.desc' => 'bail|required_with:upload.*.file',
]);
3

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector