Laravel mimes和mimetypes 出错

今天用laravel做验证的时候,出现个问题,一开始以为是框架的bug,后面在外网上找到答案。
laravel版本是5.5的 。

出现问题的过程:

blade模板:

<form class="form-horizontal" action="{{url('lesson/saveCourseware')}}" method="post" enctype="multipart/form-data" role="form">
    <input type="file" id="document" name="document" class="btn btn-primary"/>

后端validation代码:

$request->validate([
    'document' => 'required|file|mimes:ppt,pptx,doc,docx,pdf,xls,xlsx|max:204800',
]);

我上传的是这几种内省里面的一种,但是一直报错!说不是这个类型,一开始以为是bug,去sf上找答案,未果,结果在
https://laracasts.com/discuss/channels/laravel/mimes-validation-not-working-correctly-in-laravel

找到答案了!原因是他把我们当成当个的来验证,但是我们传文件制定的类型是可以一次上传多张。因此,正确的代码如下:

$request->validate([
    'document.*' => 'required|file|mimes:ppt,pptx,doc,docx,pdf,xls,xlsx|max:204800',
]);

猜你喜欢

转载自blog.csdn.net/zhezhebie/article/details/80514155
今日推荐