我正在创建Laravel验证,并且遇到了奇怪的问题。
我有一个带有输入类型文件的表单,可以在其中附加多个文件。
<input type="file" name="img[]" class="form-control" multiple="multiple">
在Controller中,我有验证规则:
$validationRules = [
'img' => 'required|image'
];
在我的验证一直无效的过程中,我总是收到一条消息: “ img必须是图像。”
同时上传1个文件或2个或3个文件没有区别-错误是相同的。还有另一个具有相同格式的字段(文本字段),它们都可以,问题仅出现在图像上。试图删除“图片” 从验证中删除并替换为 mimetypes 或 mime -系统始终无法识别图像。
请多多指教这里可能存在的问题。
答案 0 :(得分:0)
您需要将验证属性img
设置为img.*
答案 1 :(得分:0)
$input_data = $request->all();
$validator = Validator::make(
$input_data, [
'img.*' => 'required|mimes:jpg,jpeg,png,bmp|max:20000'
],[
'img.*.required' => 'Please upload an image',
'img.*.mimes' => 'Only jpeg,png and bmp images are allowed',
'img.*.max' => 'Sorry! Maximum allowed size for an image is 20MB',
]
);