laravel 5.2验证错误未显示在blade中


laravel 5.2 validation erros are not showing in blade

我知道这是一个重复的问题。这个问题有很多解决方案,但不幸的是,没有什么对我有效。我检查了-

Laravel 5.2表单验证未显示错误?

Laravel 5.2->验证错误未出现

ErrorBag在Laravel 5.2中始终为空还有更多。。。

我使用的是laval5.2.29,为了解决这些错误,我们已经在做了一些事情。在kernel.php 中

protected $middleware = [
        'Illuminate'Foundation'Http'Middleware'CheckForMaintenanceMode::class,
        'Illuminate'Session'Middleware'StartSession::class,
        'Illuminate'View'Middleware'ShareErrorsFromSession::class
    ];
    /**
     * The application's route middleware groups.
     *
     * @var array
     */
    protected $middlewareGroups = [
        'web' => [
            'App'Http'Middleware'EncryptCookies::class,
            'Illuminate'Cookie'Middleware'AddQueuedCookiesToResponse::class,
            'Illuminate'Session'Middleware'StartSession::class,
            'Illuminate'View'Middleware'ShareErrorsFromSession::class,
            'App'Http'Middleware'VerifyCsrfToken::class,
        ],
        'api' => [
            'throttle:60,1',
        ],
    ];

IN Routes.php

Route::group(['middleware' => ['web']], function () {
    Route::get('/','IndexController@index');
    Route::get('user/','UserController@showProfile');
    Route::match(["get","post"],"user/register",'UserController@register');
    Route::match(["get","post"],"user/login",'UserController@login');
});

用户控制器-

 $this->validate($this->Request,User::$add_user_rules);
$user_data = Input::all();
$user_data['username'] = explode('@',$user_data["email"])[0];
if(User::create($user_data)){
  $this->Request->session()->flash('success', 'Your account has been successfully created. Now please check your email to activate your account.');
  }else{
     $this->Request->session()->flash('error', 'Oops.. Something went wrong. Please try again !');
  }
return redirect("user/register");

规则在用户模型-中

public static $add_user_rules = [
        'first_name' => 'required|alpha_dash',
        'last_name' => 'alpha_dash',
        'email' => 'required|email|unique:users',
        'password' => 'required',
        "cn_password" => "required|same:password",
    ];

最后,这是我用来显示刀片上的错误-

@if (count($errors) > 0)
<div class="alert-message error">
    <div><span>Error !</span><br>
        @foreach ($errors->all() as $error)
        <p>{{ $error }}</p>
        @endforeach
    </div>
</div>
@endif

现在,这个代码中缺少什么。没有显示任何错误消息。还有一件事,如果我把路由放在中间件web之外,一切都很完美

现在默认在Laravel最新版本5.2**中的web middleware组中。如果您在app'Http'routes.php文件中明确指定了此middleware组,则应将其删除,这样可以解决您的问题。