我有一个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两种方法的方法中正确使用我自己的自定义表单请求?
1条答案
按热度按时间drnojrws1#
FormRequest
将在请求数据到达控制器之前验证它们。由于它将验证数据,如果不传递您放在规则上的所需数据,它将不会继续到控制器。因此,不使用FormRequest
,而使用Request
代替,或者只是分开您的POST和GET请求。