首页 > 解决方案 > laravel 中的 Request 和 LoginRequest 有什么区别

问题描述

在这些示例中,laravel 中的 Request 和 LoginRequest 有什么区别:

1-登录请求示例:

/**
 * Handle an incoming authentication request.
 *
 * @param  \App\Http\Requests\Auth\LoginRequest  $request
 * @return \Illuminate\Http\RedirectResponse
 */
public function store(LoginRequest $request)
{
    $request->authenticate();

    $request->session()->regenerate();

    return redirect()->intended(RouteServiceProvider::HOME);
}

2-请求示例:

/**
 * Handle an incoming request.
 *
 * @param  \Illuminate\Http\Request  $request
 * @param  \Closure  $next
 * @param  string|null  ...$guards
 * @return mixed
 */
public function handle(Request $request, Closure $next, ...$guards)
{
    throw new Exception($request);
    $guards=empty($guards)? [null] : $guards ;
    foreach ($guards as $guard) {
        if (Auth::guard($guard)->check()) {
            return redirect(RouteServiceProvider::HOME);
        }
    }
    
    return $next($request);
}

我正在使用 laravel 8。

我想我的问题很清楚。

标签: phplaravel

解决方案


当您使用请求时,您不能限制您的表单请求。但是如果你使用自定义表单请求,你可以让它像你想要的那样灵活,你可以验证、授权、制定规则和自定义错误消息,比如 LoginRequest

您可以使用此命令发出自定义请求

php artisan make:request LoginRequest

或者您可以阅读文档 https://laravel.com/docs/8.x/validation#form-request-validation


推荐阅读