laravel5の新規作成や更新時で、通常メッセージ(緑色)&エラーメッセージ(赤色)の出し分けをする
1, layout.blade.phpなど共通ファイルに、通常メッセージ(緑色)&エラーメッセージ(赤色)を表示する記述をしておく
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | {{-- フラッシュメッセージの表示 --}} @if (Session::has('flash_message'))     <div class="alert alert-success">         {!! nl2br(htmlspecialchars(Session::get('flash_message'))) !!}     </div> @endif   {{-- 新規作成や更新時のValidateエラーメッセージ --}}         @if (count($errors) > 0)     <div class="alert alert-danger">         <ul>             @foreach ($errors->all() as $error)                 <li>{{ $error }}</li>             @endforeach         </ul>     </div> @endif   | 
2, 通常メッセージはフラッシュに格納。エラーメッセージはwithErrorsに格納(validateエラーと共通化できる!)
| 1 2 3 4 | // 更新が無事完了して、編集画面に戻る時にメッセージを表示する $message = "問題なく更新できた!"; \Session::flash('flash_message', $message); return redirect()->to('/user'); | 
| 1 2 3 4 5 6 7 8 9 10 11 | // 複数のエラーが発生! $error_messages[] = "エラーその1"; $error_messages[] = "エラーその2"; // エラーがあったら、画面にその旨を表示する if(!empty($error_messages)){     // レコードを元の状態に戻す!     DB::rollback();     // 編集画面に戻る     return redirect('/user/'. $id .'/edit')->withInput()->withErrors( $error_messages); } |