从输入字段上传图像,但仍然收到验证错误,提示该字段是必需的

Uploading image from input field and still getting validation error saying that field is required

路线代码:

Route::group(['middleware' => 'auth', 'prefix' => 'admin'], function(){
    Route::resource('gallery', GalleryController::class);
});

我用来上传文件的表格:

<form action="{{ route('gallery.store') }}" method="post" enctype="multipart/form-data">
@csrf

<div class="input-group mb-3">
    <div class="custom-file">
        <input type="file" class="custom-file-input" name="gallery_img" id="inputGroupFile01">
        <label class="custom-file-label" for="inputGroupFile01">Choose file</label>
        
    </div>
</div>
@error('gal_img')
    <span class="text-danger">{{ $message }}</span>
@enderror

<div class="input-group-append">
    <div class="col-sm-10" style="padding-left: 1px;">
        <button type="submit" class="btn btn-dark">Save</button>
    </div>
</div>                            

控制器代码:

    public function store(GalleryRequests $request)
{
    $gal_img = $request->file('gallery_img');
    $gal_file = date('YmdHi').$gal_img->getClientOriginalName();
    $gal_img->move(public_path('upload/gallery'), $gal_file);
    $save_path = 'upload/gallery/'.$gal_file;

    Gallery::insert([
        'gal_img' => $save_path
    ]);

    $notification = array(
        'message' => 'Slider Inserted Successfully',
        'alert-type' => 'success'
    );

    return redirect()->back()->with($notification);
}

请求文件验证:

 public function authorize()
{
    return true;
}

/**
 * Get the validation rules that apply to the request.
 *
 * @return array
 */
public function rules()
{
    return [
        'gal_img' => 'required'
    ];
}

public function messages(){
    return [
        'gal_img.required' => 'Please Select an Image First',
    ];
}

选择图像后尝试保存时出现的错误:

试图弄清楚我做错了几个小时,现在很沮丧,请帮助我解决这个问题。 提前致谢。

表单中的字段名为 gallery_img,因此必须检查该名称:

/**
 * Get the validation rules that apply to the request.
 *
 * @return array
 */
public function rules()
{
    return [
        'gallery_img' => 'required'
    ];
}

public function messages()
{
    return [
        'gallery_img.required' => 'Please Select an Image First',
    ];
}