Laravel 5.2未返回错误数组


Laravel 5.2 Not returning error array

我正在努力学习Laveral 5.2,并且在我的routes.php中有以下内容:

Route::group(['middleware' => ['web'] ], function()     {
Route::get('/', function () {
        return view('welcome');         });
Route::post('/signup', [ 'uses' =>'UserController@postSignUp',
    'as' => 'signup']);
Route::post('/signin', [    'uses' => 'UserController@postSignIn',
            'as' => 'signin']);
Route::get('/dashboard',['uses' =>'UserController@getDashboard',
            'as' => 'dashboard' ]);
});

在我的控制器中,我有一些验证:

$this->validate( $request, [
        'email' => 'required|email|unique:users',
        'first_name' =>'required|max:120',
        'password' => 'required|min:4'
        ]);

在我的登录屏幕上,我有以下内容:

@if (count($errors) > 0 )
<div class="row">
     <div class="col-md-12">
    <ul>
        @foreach($errors->all() as $error)
            <li>{{ $error }}</li>
        @endforeach
    </ul>
    </div>
 </div>

错误数组似乎总是空的。

如果您使用的是Laravel 5.2.27及更高版本,请尝试删除web中间件。web中间件现在自动添加到所有路由中,如果您尝试手动添加,它会导致类似于您的问题。

它已经帮助许多人解决了类似的问题。我希望它也能帮助你。

试试这个

$validator = Validator::make($request->all(), [
    'email' => 'required|email|unique:users',
    'first_name' =>'required|max:120',
    'password' => 'required|min:4'
  ]);
 if ($validator->fails()) {
     return view('your_view_name')->withErrors($validator)->with(['val1' => $val1,......]);
        }