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

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

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

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

1 Ответ

0 голосов
/ 09 ноября 2018

Попробуйте обязательно_с проверкой другого поля

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',
]);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...