フォームを送信したとき、画面に反応がないと心もとないですよね。
Laravelで「投稿をしました」「投稿を削除しました」などのメッセージを簡単に表示する方法を解説します。
FlashメソッドとBootstrapを使って、ユーザーが次の操作をするまでの間だけ、メッセージを表示させるようにしていきます。
Laravel フォーム送信時に画面にメッセージを表示する方法【Laravel入門講座】
フォーム送信時に【投稿を作成しました】と表示させる方法を解説します。
コントローラーにメッセージをいれる
コントローラーのメソッドの最後に、次のように入れておきましょう。
投稿後は、text.indexにリダイレクトするよう設定しています。
|
1 2 3 4 5 |
public function メソッド名(Request $request) { 処理内容 $request->session()->flash('message', '投稿を作成しました'); return redirect()->route('text.index'); } |
シンプルに ->with としてもOK。
|
1 2 3 4 |
public function メソッド名() { 処理内容 return redirect()->route('text.index')->with('message', '投稿を作成しました'); } |
ビューファイルにメッセージの場所を作る
次に、表示されるビューファイル(blade.php) を開き、メッセージを表示したい場所に下記のコードを追加します。
|
1 2 3 |
@if(session('message')) <div class="alert alert-success">{{session('message')}}</div> @endif |
これで、フォーム送信時に下記のような画面が表示されます。

ボタンの色を変える
ボタンの表示の色は、クラスを編集すれば、変更できます。
先ほどのコードなら、この部分を変えます。
<div class=”alert alert-success“>{{session(‘message’)}}</div>
bootstrapでは、下記のような色の選択肢があります。
| alert-primary | ![]() |
|---|---|
| alert-secondary | ![]() |
| alert-success | ![]() |
| alert-danger | ![]() |
| alert-warning | ![]() |
| alert-info | ![]() |
| alert-light | ![]() |
| alert-dark | ![]() |
削除は赤色、うまくいったときは青や緑が使われる傾向があります。
サイトの色や目的に応じて、使い分けてくださいね。








