在laravel 5.4中获取失败的上传文件的文件名
问题描述:
如何获取失败的上载文件的文件名,并将其传递给验证错误消息.例如:" file.0 必须为1024 KB."就像" failed-file-sample.jpg 必须为1024 KB".
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."
这是示例代码排列:
$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
);
非常感谢.
答
使用:
$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);