ErrorBag is always empty in Laravel 5.2

2019-01-08 02:17发布

I was creating a new Laravel project and when debugging the errors of a form request, I noticed that my ErrorBag was always empty. Even when in the controller $validator->fails() returned true. I tried every solution I found on the internet but nothing worked.

Even when creating a fresh project with composer (as described here) my out of the box auth system has an empty error bag when leaving all the field empty.

And yes, all the routes are using the middleware group web.

Any ideas what is causing this problem? (Session::put() and Session::get() are working)

3条回答
forever°为你锁心
2楼-- · 2019-01-08 02:51

As of v5.2.27, released on 2015-03-25, all routes in app\Http\routes.php are now in the web middleware group by default. If you have explicitly specified this middleware group inside your app\Http\routes.php file, you should remove it and that should resolve your issue.

查看更多
戒情不戒烟
3楼-- · 2019-01-08 02:52

Are you triggering any form validation errors? If you are then try this -

$messages = $validator->errors();

The messages variable should now have your errors

If you error bag is still empty

  • Check if your post data are being posted to the proper route/controller
查看更多
你好瞎i
4楼-- · 2019-01-08 03:07

In my case, I moved \Illuminate\Session\Middleware\StartSession::class from my web group to the $middleware array.

查看更多
登录 后发表回答