Laravel 5.7.17 文件验证问题

Tho*_*ler 1 validation laravel laravel-5

该示例基于 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>
Run Code Online (Sandbox Code Playgroud)

RegisterController 中的方法如下所示:

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

    dd($validator->errors());
}
Run Code Online (Sandbox Code Playgroud)

我正在尝试上传 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"
}
Run Code Online (Sandbox Code Playgroud)

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

Ahm*_*Din 5

只需添加enctype="multipart/form-data"到您的表单中:

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