Laravel5.2で$errorsがUndefinedでエラー!?
Laravel5.2で$errorsがUndefined!?
相変わらず初心者ララベラーしてます。
Validateのエラーが見れない?
普通にValidateを書いてさぁviewで処理しようかなと$errorsの処理を書いたところ・・
「Undefined variable: errors」
・・はて?
5.1→5.2で$errors変数の名前が変わったのかなと思ったところそんな記載もない。
解決
どうやらmiddlewareまわりが変わった事が原因のようで・・
App\Http\Kernel.php
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,
~略~
protected な’Web'さんの中にエラー関連がいます。
ですので、
App\Http\routes.php
Route::group(['middleware' => ['web']], function () {
Route::get('/','HogehogeController@index'); // ← ここにRoute処理を書く
});
// ↓ ココとかだとルーティングは正常に動くけど$errors変数とか拾えない
Route::get('/','HogehogeController@index');
気づけばわかるけど某サイトなどで学習してる人はハマると解決しづらい5.2の変更でした。