いつも心にバーレーワイン

ExcelのvbaとかeccubeとかECサイトのリスティング広告設定とかよろずやってます。Laravelはじめました。

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の変更でした。