问题
How do i get the filename of failed uploaded file and pass it on validation error message. Ex: "The file.0 must be 1024 kilobytes." be like "The failed-file-sample.jpg must be 1024 kilobytes."
Here's the sample code arrangement:
$messages = [
'mimes' => 'File(s) must be of type: :values.',
'size' => 'The ' . $request->file('file_field')->getClientOriginalName() . ' must be :size kilobytes.'
];
$this->validate(
request(),
['file_field' => 'bail|required|mimes:gif,jpg,jpeg,png|size:1024'],
$messages
);
Thanks in advanced.
回答1:
Use:
$validationArray = [];
foreach ($request->file('file_field') as $key => $file) {
$validationArray['file_field.'.$key.'.size'] => 'The ' . $file->getClientOriginalName() . ' must be 1024 kilobytes.';
}
$messages = [
'file_field.*.mimes' => 'File(s) must be of type: :values.',
$validationArray
];
$this->validate(
$request,
[
'file_field' => 'bail|required|array',
'file_field.*' => 'mimes:gif,jpg,jpeg,png|size:1024'
],
$messages);
来源:https://stackoverflow.com/questions/51628951/get-filename-of-failed-uploaded-file-in-laravel-5-4