laravel 在获取两种方法的方法处调用自定义表单请求GONE WRONG

bvuwiixz  于 2022-11-18  发布在  Go
关注(0)|答案(1)|浏览(143)

我有一个Laravel 9项目,我已经定义了这条路径,它同时获得POST && GET方法:

Route::match(['GET','POST'],'register', 'Auth\AuthController@register')->name('auth.register');

然后在控制器中:

public function register(RegisterRequest $request)
    {
        $method = $request->method();

        if ($request->isMethod('get'))
        {
            return view('frontend.auth.register');
        }
        if($request->isMethod('post'))
        {
            // Do ...
        }
    }

如您所见,我检查了方法是否为GET,然后显示一个刀片,它是POST,然后执行一些处理。
但是,当我用RegisterRequest $request替换Request $request作为方法参数时,GET方法就不再起作用,并且根本不显示刀片。
到底出了什么问题?
如何在一个同时使用POST和GET两种方法的方法中正确使用我自己的自定义表单请求?

drnojrws

drnojrws1#

FormRequest将在请求数据到达控制器之前验证它们。由于它将验证数据,如果不传递您放在规则上的所需数据,它将不会继续到控制器。因此,不使用FormRequest,而使用Request代替,或者只是分开您的POST和GET请求。

相关问题