猿问

Laravel 5.8 自定义表单请求未按预期工作?

我创建了一个ClientStoreRequest使用以下代码命名的自定义表单请求:


<?php


namespace App\Http\Requests;


use Illuminate\Foundation\Http\FormRequest;


class ClientStoreRequest extends FormRequest

{

    /**

     * Determine if the user is authorized to make this request.

     *

     * @return bool

     */

    public function authorize()

    {

        return true;

        // return  $this->user()->can('add-clients');

    }


    /**

     * Get the validation rules that apply to the request.

     *

     * @return array

     */

    public function rules()

    {

        return [

            'name' => 'required|unique:clients|max:255',

            'website' => 'required|url',

            'street' => 'required',

            'town' => 'required',

            'postcode' => 'required|max:8',

            'county' => 'required',

            'country' => 'required'

        ];

    }

}

然后我修改了我ClientController的store方法,看起来像这样:


    /**

     * Store a newly created resource in storage.

     *

     * @param  ClientStoreRequest  $request

     * @return \Illuminate\Http\Response

     */

    public function store(ClientStoreRequest $request)

    {

        dd(1);

    }

所以当表单提交时,它应该杀死页面并将 a 打印1到屏幕上。当我使用时ClientStoreRequest $request,它只是将我发送回我提交表单的页面,没有错误也没有dd(1)结果,但是当我使用Request $request它时,它会打印1到屏幕上。


我错过了一些非常明显的东西吗?我已经按照文档做了这个。


编辑:我正在使用资源控制器,所以路由是 Route::resource('clients', 'ClientController');


慕尼黑8549860
浏览 112回答 1
1回答

SMILET

有点尴尬,但这完全归咎于开发人员的错误。自定义表单请求实际上工作正常......只是我的规则引用了我忘记放入表单的一个字段,所以没有在屏幕上显示错误!一旦我回显了通常的 $errors 数组,我就可以看到我的错误 - 我会责怪深夜编码!
随时随地看视频慕课网APP
我要回答