Laravel 5.5 验证多文件上传

4
我该如何在laravel中使用一种验证方式验证多个文件上传?
$this->validate($request, [
    'project'           => 'required|exists:project_details,id',
    'location'          => 'exists:project_details,location',
    'plant_id'          => 'exists:project_details,plant_id',
    'capacity'          => 'required|max:20',
    'brief_description' => 'nullable|max:300',
    'incident_details'  => 'required|max:300',
    'other_comments'    => 'nullable|max:300',
    'attachments.*'     => 'required|file|mimes:xlsx,xls,csv,jpg,jpeg,png,bmp,doc,docx,pdf,tif,tiff'
]);

我正在尝试验证附件。 这是我的表格:

<input type="file" name="attachments[]" multiple>
1个回答

7
您可以通过以下方式验证您的文件。
$input_data = $request->all();

$validator = Validator::make(
$input_data, [
'image_file.*' => 'required|file|mimes:xlsx,xls,csv,jpg,jpeg,png,bmp,doc,docx,pdf,tif,tiff'
],[
    'image_file.*.required' => 'Please upload an image',
    'image_file.*.mimes' => 'Only xlsx,xls,csv,jpg,jpeg,png,bmp,doc,docx,pdf,tif,tiff images are allowed',

]
);

if ($validator->fails()) {
    $messages = $validator->messages();
    return Redirect::to('/')->with('message', 'Your erorr message');
}

@RalphVitto。我能理解你的问题。我会为这个问题提供解决方案。请查看我的答案。 - Amit Senjaliya
@RalphVitto,你可以在validate:make()方法的末尾简单地调用validate()方法:validate:make()->validate(); - mhk

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接