1

新しいLaravelインストールバージョン5.2.41があり、テンプレートに検証エラーを出力します。かなり基本的なもの。私app.blade.php検証エラーは、LaravelのWebミドルウェアが不足している場合にのみ表示されます

@if ($errors->any()) 
    <div class="alert alert-danger"> 
     @foreach ($errors->all() as $error) 
      {{ $error }}<br> 
     @endforeach 
    </div> 
@endif 

マイroutes.phpファイル:

Route::group(['as' => 'backend', 'middleware' => ['web', 'auth'], 'namespace' => 'Backend', 'prefix' => config('settings.admin.slug')], function() {  
    Route::get('/admin_users/edit/{id}', ['uses' => '[email protected]', 'as' => 'admin.users.edit']); 
    Route::post('/admin_users/edit/{id}', '[email protected]'); 
}); 

あなたは私がここにwebミドルウェアを使用している見ることができるように。

$errors変数は、このときにはに設定されますが、空の配列になります。

webミドルウェアを削除すると、すべての作業が正常に行われます。これは私にとって非常に奇妙で、予想される動作ではないようです。明らかな修正は、webミドルウェアを含まないことですが、どのような副作用があるのか​​わかりません。

+0

からこのwebミドルウェアを削除するか、多分あなたは、Webミドルウェアのコードを貼り付ける必要があるので、私たちは何をしたかのWebミドルウェア見ることができます。 –

+0

組み込みのWebミドルウェアなので、コードはありません。これは、単にLaravelに付属しているKernel.phpで定義されているクラスです:https://github.com/laravel/laravel/blob/master/app/Http/Kernel.php – Mike

+0

デフォルトでは、すべてのルートは 'ウェブのミドルウェア。もう一度追加するとエラーが解消されるようです。もう一晩、これに蘭を入れてください。プロジェクトディレクトリからCLIを使用してphp artisan route:listを実行すると、ルートとそのミドルウェアが表示されます。 –

答えて

1

すべては、使用しているLaravelアプリケーションのバージョンによって異なります(Laravelフレームワークと混同しないでください)。そうした場合、あなたが今webミドルウェアを複製し、それが原因となりますので、あなたがそこにwebミドルウェアは、このデフォルトのファイルに同じようhttps://github.com/laravel/laravel/blob/master/app/Providers/RouteServiceProvider.php

を適用し、あなたのroutes.phpファイルでこれを使うべきではないかどうかを確認するためにapp/Providers/RouteServiceProvider.phpファイルで

ルックそのような問題。

はつまり、あなたのすべてのルートを変更するか、単にapp/Providers/RouteServiceProvider.phpファイル

+0

私は間違いなくWebミドルウェアを望んでいたことを知っていたので、デフォルトとして常にそこにいることを知っていて、それを複製していました。ありがとう。非常に有益な答え – Mike

関連する問題