Php Laravel 5.4验证程序未看到输入字段

Php Laravel 5.4验证程序未看到输入字段,php,laravel,laravel-5.4,Php,Laravel,Laravel 5.4,因此,我尝试使用验证程序外观设置验证。出于某种奇怪的原因,验证程序没有看到一个输入字段,尽管它存在于请求中。以下是验证代码: $rules = [ 'name' => 'required', 'resource_type' => 'required', 'semester' => 'required', 'file' =&

因此,我尝试使用
验证程序
外观设置验证。出于某种奇怪的原因,验证程序没有看到一个输入字段,尽管它存在于请求中。以下是验证代码:

        $rules = [
            'name'          => 'required',
            'resource_type' => 'required',
            'semester'      => 'required',
            'file'          => 'required|max:8196'
        ];
        $messages = [
            'name.required' => 'The name field is required',
            'semester.required' => 'The semester field is required',
            'resource_type.required' => 'The resource_type field is required',
            'file.required' => 'The file field is required',
            'file.max' => 'The max file size is 8196 kilobytes',
        ];

        $validator = Validator::make($request->input(), $rules, $messages);
        if ($validator->fails()) {
            return response()->json($validator->messages(), 422);
        }
下面是我正在进行的测试:

$file = UploadedFile::fake()->create('file.pdf', 512);
    $response = $this->json( "POST", 'api/v2/papers', [
        "name"          => $paper->name,
        "semester"      => $paper->semester,
        "resource_type" => $paper->resource_type,
        "file"          => $file,
    ] )->assertSuccessful();
当我打印
$response->content()
的值时,我得到

{“文件”:[“文件字段是必需的”]}

文件字段存在,所以我不确定到底发生了什么


提前感谢。

不要使用
$request->input()
,它不包括文件


使用
$request->all()/formdata@Matz根据拉雷维尔官方文件,你应该能够用json方法发布一个文件。你在
$file
中得到了什么?@user2486这是一个伪文件,由假classNice生成,从未见过:)