Php Laravel多文件验证失败
我有一个多文件输入字段:Php Laravel多文件验证失败,php,forms,laravel,validation,laravel-validation,Php,Forms,Laravel,Validation,Laravel Validation,我有一个多文件输入字段: 在ProjectRequest类中,我应用了以下规则: $documents = count($this->input('documents')); foreach(range(0, $documents) as $index) { $rules['documents.' . $index] = 'mimes:doc,pdf,jpeg,bmp,png|max:20000'; } 但当我尝试上载png或pdf时,会出现以下验证错误: 文档.0必须是以下
在ProjectRequest类中,我应用了以下规则:
$documents = count($this->input('documents'));
foreach(range(0, $documents) as $index) {
$rules['documents.' . $index] = 'mimes:doc,pdf,jpeg,bmp,png|max:20000';
}
但当我尝试上载png或pdf时,会出现以下验证错误:
文档.0必须是以下类型的文件:doc、pdf、jpeg、bmp、png
更新:
正如答案中所建议的那样,我没有在数组中循环,而是直接在$rules
数组中添加了文档。*
规则。然而,我仍然得到相同的错误
在项目请求中:
在ProjectController@store:
您不需要通过数组
循环,而是使用*
$rules['documents.*'] = 'mimes:doc,pdf,jpeg,bmp,png|max:20000';
阅读Laravel Official以获得更好的理解。您不需要在数组中循环,而是使用*
$rules['documents.*'] = 'mimes:doc,pdf,jpeg,bmp,png|max:20000';
阅读Laravel Official以更好地理解。您可以通过以下方式验证阵列:
'documents.*' => 'mimes:doc,pdf,jpeg,bmp,png|max:20000'
您可以通过以下方式验证阵列:
'documents.*' => 'mimes:doc,pdf,jpeg,bmp,png|max:20000'
我移除了循环。将此新规则添加到$rules[]数组中,我仍然得到相同的规则error@Eisenheim这不是错误。这是验证工作的预期。这意味着您尝试上载的文件具有错误的mime类型。使用多个文件进行测试。他们不可能都有错误的mime类型@alexey-mezenin@Eisenheim嗯,看起来他们有。你确定只使用文档。*
是合适的规则吗?因为在文档中我没有看到这个规则。文档建议使用这种格式documents.*.filename
I删除了循环。将此新规则添加到$rules[]数组中,我仍然得到相同的规则error@Eisenheim这不是错误。这是验证工作的预期。这意味着您尝试上载的文件具有错误的mime类型。使用多个文件进行测试。他们不可能都有错误的mime类型@alexey-mezenin@Eisenheim嗯,看起来他们有。你确定只使用文档。*
是合适的规则吗?因为在文档中我没有看到这个规则。文档建议使用这种格式documents.*.filename
I删除了循环。将此新规则添加到$rules[]数组中,我仍然收到相同的错误检查您上载的文件类型并向我们显示您的完整验证代码检查,它是png。更新的问题。您是否在blade文件的表单中启用了多部分formdata
??你能给我们看一下blade/view文件的完整表单吗?我删除了循环。将此新规则添加到$rules[]数组中,我仍然收到相同的错误检查您上载的文件类型并向我们显示您的完整验证代码检查,它是png。更新的问题。您是否在blade文件的表单中启用了多部分formdata
??你能给我们看一下blade/view文件的完整表格吗。