2016-05-21 6 views
1

検証エラーは表示されません。$errorsは常に空で、理由を理解できません。
私は何百万回もこのプロジェクトを行っていますが、このプロジェクトでは問題はありません。Laravel - エラーバッグにアクセスできない

ここ形式:ここ

@if(count($errors) > 0) 
     <div class="alert alert-danger"> 
      <ul> 
       @foreach($errors->all() as $error) 
       <li>{{ $error }}</li> 
       @endforeach 
      </ul> 
     </div> 
    @endif 
    {{ Form::open(['url'=>route('admin.roles.store'), 'method'=>'post']) }} 
     <input type="text" name="name"> 
     {{ Form::submit() }} 
    {{ Form::close() }} 

私のコントローラの方法:

public function store(CreateRoleRequest $request) 
{ 
    $this->validate($request, [ 
     'name' => 'required' 
    ]); 
} 

ルートはミドルウェア・グループを使用します。

'backend' => [ 
      'auth', 
      \App\Http\Middleware\Boilerplate\CheckIfUserCanAccessToBackend::class 
     ] 

そして、これは、ミドルウェアです:

<?php 

namespace App\Http\Middleware\Boilerplate; 

use Closure; 

class CheckIfUserCanAccessToBackend 
{ 
    /** 
    * Handle an incoming request. 
    * 
    * @param \Illuminate\Http\Request $request 
    * @param \Closure $next 
    * @return mixed 
    */ 
    public function handle($request, Closure $next) 
    { 
     $user = $request->user(); 

     // Admin can access 
     if($user->hasRole('admin')) 
     { 
      return $next($request); 
     } 

     // The user has the permission? 
     if($user->can('access_backend')){ 

      return $next($request); 
     } 

     // Can't access 
     return abort(403); 
    } 
} 

私は何が起こっているのか全く考えていませんか?

答えて

1

この問題を引き起こす原因の1つは、routes.phpルートin Laravel 5.2.27 or higherに手動でwebミドルウェアを追加することです。

+1

これで2日間過ごしました...ありがとうございました。私は 'web'ミドルウェアを削除しました。 –

関連する問題