我想验证file input
,但验证不起作用,即使所提供的文件符合验证要求,知道我正在上传多个,验证也无法返回The given data was invalid.
文件一次:
以下是我使用的验证:
Validator::make($request->all('files'), [
'files' => 'required|image|mimes:jpeg,png,jpg,gif,svg|max:2048'
])->validate();
这是我使用的 HTML :
<input type="file" id="files" ref="files" multiple v-on:change="uoloadFiles()" name="files"/>
知道我使用 vue 来处理表单提交。
感谢您的帮助
答案 0 :(得分:3)
这应该有效,因为您要上传多个文件,每个文件都应该单独验证。
Validator::make($request->all('files'), [
'files.*' => 'required|image|mimes:jpeg,png,jpg,gif,svg|max:2048'
])->validate();
请注意*
。
进一步参考here
答案 1 :(得分:0)
如果你只有这个字段,你可以这样做:
Validator::make($request->only('files'), [
'files.*' => 'required|image|mimes:jpeg,png,jpg,gif,svg|max:2048'
])->validate();
否则使用不带参数的all
方法:
Validator::make($request->all(), [
'files.*' => 'required|image|mimes:jpeg,png,jpg,gif,svg|max:2048'
])->validate();
答案 2 :(得分:0)
尝试
$this->validate(request(), [
'files' => 'required|mimes:jpeg,png,jpg,gif,svg|max:2048'
]);
我认为你不需要image
mimes
就好了