php - 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。
我想我的问题很清楚。
解决方案
当您使用请求时,您不能限制您的表单请求。但是如果你使用自定义表单请求,你可以让它像你想要的那样灵活,你可以验证、授权、制定规则和自定义错误消息,比如 LoginRequest
您可以使用此命令发出自定义请求
php artisan make:request LoginRequest
或者您可以阅读文档 https://laravel.com/docs/8.x/validation#form-request-validation
推荐阅读
- elasticsearch - Elasticsearch:你可以在同一个搜索中使用聚合的结果吗?
- bash - 使用信号重新启动 shell 脚本
- python - 创建类似于类对象的 MagicMock,并在实例化时创建一个 MagicMock 实例
- javascript - 提交表单时将 javascript 变量传递到另一个页面。仅使用 html 和 Javascript
- oracle - 并行运行过程 - Oracle PL/SQL
- python - 如何使用命令打破“while True”循环?
- java - GPS 设置为 ON 并且应用程序在首次启动时崩溃
- javascript - 我在双向链表中的“removeElement(element)”中有问题
- javascript - 使用 Promise 的 Angular9 模态
- php - 是否可以通过仅使用内置类来利用 PHP 的反序列化?