Laravel 5 withError() 与 withErrors()
Laravel 5 withError() vs withErrors()
我可能在做一些非常愚蠢的事情。不小心产生了一段代码,我似乎无法弄清楚它是如何工作的。
我正在尝试自定义将未经身份验证的用户重定向到登录页面。因此,当用户尝试访问受保护的页面时,laravel 会将用户重定向到登录页面。在这种情况下,我试图显示 Javascript toastr 消息。
我所做的是自定义 App\Exceptions\Handler.php
class 中的 unauthenticated
方法,如下所示:
protected function unauthenticated($request, AuthenticationException $exception)
{
if ($request->expectsJson()) {
return response()->json(['error' => 'Unauthenticated.'], 401);
}
//dd($request);
return redirect()->guest('login')->withError('You are not logged in or Your session has expired');
}
请注意,我错过了 withError
函数中的 s
。在我的 blade 文件中,我显示的 toastr 通知如下:
<script>
@if(Session::has('error'))
toastr.error("{{Session::get('error')}}");
@endif
</script>
因此,每当用户由于尚未登录而被重定向到登录页面时,都会显示 Java Script toastr 消息。但是,我无法弄清楚 Session('error')
值是如何被 withError
函数填充的。我只能发现 Laravel 有 withErrors
功能,没有 withError
.
过去几个小时尝试排除故障,但没有成功。在这里寻求一些指导。谢谢。顺便说一句,我是 Laravel.
的新手
这是一个“神奇”的方法,因为任何对前缀为 with
的方法的调用都将作为闪存数据添加到会话中。所以withError()
会在keyerror
下添加flash数据; withErrors()
将在 errors
键下添加 flash 数据; withSuccess()
会在success
的key下添加flash数据;等等。
我可能在做一些非常愚蠢的事情。不小心产生了一段代码,我似乎无法弄清楚它是如何工作的。
我正在尝试自定义将未经身份验证的用户重定向到登录页面。因此,当用户尝试访问受保护的页面时,laravel 会将用户重定向到登录页面。在这种情况下,我试图显示 Javascript toastr 消息。
我所做的是自定义 App\Exceptions\Handler.php
class 中的 unauthenticated
方法,如下所示:
protected function unauthenticated($request, AuthenticationException $exception)
{
if ($request->expectsJson()) {
return response()->json(['error' => 'Unauthenticated.'], 401);
}
//dd($request);
return redirect()->guest('login')->withError('You are not logged in or Your session has expired');
}
请注意,我错过了 withError
函数中的 s
。在我的 blade 文件中,我显示的 toastr 通知如下:
<script>
@if(Session::has('error'))
toastr.error("{{Session::get('error')}}");
@endif
</script>
因此,每当用户由于尚未登录而被重定向到登录页面时,都会显示 Java Script toastr 消息。但是,我无法弄清楚 Session('error')
值是如何被 withError
函数填充的。我只能发现 Laravel 有 withErrors
功能,没有 withError
.
过去几个小时尝试排除故障,但没有成功。在这里寻求一些指导。谢谢。顺便说一句,我是 Laravel.
的新手这是一个“神奇”的方法,因为任何对前缀为 with
的方法的调用都将作为闪存数据添加到会话中。所以withError()
会在keyerror
下添加flash数据; withErrors()
将在 errors
键下添加 flash 数据; withSuccess()
会在success
的key下添加flash数据;等等。