Laravel 5.7.17文件验证问题



该示例基于Laravel的注册。

我在register.blade.php中添加了以下内容:

<div class="form-group row">
<label for="file" class="col-md-4 col-form-label text-md-right">{{ __('Files') }}</label>
<div class="col-md-6">
<input type="file" id="files" name="files[]" multiple>
</div>
</div>

RegisterController中的方法如下:

protected function validator(array $data)
{
$validator = Validator::make($data, [
'name' => ['required', 'string', 'max:255'],
'files.*' => ['required', 'file'],
]);
dd($validator->errors());
}

我正在尝试上传PDF和DOC文件

MessageBag {#236 ▼
#messages: array:2 [▼
"files.0" => array:1 [▼
0 => "The files.0 must be a file."
]
"files.1" => array:1 [▼
0 => "The files.1 must be a file."
]
]
#format: ":message"
}

必须是文件吗?这些是文件。。。

只需将enctype="multipart/form-data"添加到表单中即可:

<form method="POST" action="{{ route('register') }}" enctype="multipart/form-data">

试试这个:

protected function validator(array $data)
{
$validator = Validator::make($data, [
'name' => ['required', 'string', 'max:255'],
'files.*' => ['required', 'mimes:doc,docx,pdf,txt'],
]);
dd($validator->errors());
}

相关内容

  • 没有找到相关文章

最新更新