Flash message in Laravel 8 -example
In this article we will learn about how we can create flash message in laravel 8
we will define various type of flash message notification like alert success, alert danger, alert info, alert warning messages in bootstrap laravel 8 projects. When you have success task on controller method then you can use success flash message, if you have any error task then you can use error flash message.
Flash messages are required in laravel 8 application because that way we can give alter with what progress complete, error, warning etc. In this tutorial, I added several ways to give a flash message like redirect with success message, redirect with an error message, redirect with a warning message and redirect with info message. In this example, we use a bootstrap flash alert layout that way it becomes good layout.
We are going to do following things in our article
- Create a global file for flash message
- Include that file
- return redirect with flash message
1 . Create a global file for flash message
This file will include the following alerts
- Success
- Error
- Warning
- Info
So first create a folder named as alert under resources/views, under the alert folder we will create a blade file named as flash-message.blade.php, so you complete path will be like below this resources/views/alert/flash-message.blade.php
Write the below code in flash-message.blade.php
@if ($message = Session::get('success'))
<div class="alert alert-success alert-block">
<button type="button" class="close" data-dismiss="alert">Ă—</button>
<strong>{{ $message }}</strong>
</div>
@endif
@if ($message = Session::get('error'))
<div class="alert alert-danger alert-block">
<button type="button" class="close" data-dismiss="alert">Ă—</button>
<strong>{{ $message }}</strong>
</div>
@endif
@if ($message = Session::get('warning'))
<div class="alert alert-warning alert-block">
<button type="button" class="close" data-dismiss="alert">Ă—</button>
<strong>{{ $message }}</strong>
</div>
@endif
@if ($message = Session::get('info'))
<div class="alert alert-info alert-block">
<button type="button" class="close" data-dismiss="alert">Ă—</button>
<strong>{{ $message }}</strong>
</div>
@endif
2 . Include that file
Now you can include this file where you want to show the error messages, or you can also include that file in your app.blade.php file like the below one
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- Styles -->
<link href="/css/app.css" rel="stylesheet">
</head>
<body>
<div id="app">
@include('flash-message')
@yield('content')
</div>
<!-- Scripts -->
<script src="/js/app.js"></script>
</body>
</html>
3. Return redirect with a flash message
We can simply redirect route or redirect URL or redirect back with warning,error,success,info flash message, we can use in the controller like this way:
Redirect with success message
public function create(Request $request)
{
return redirect()->route('home')
->with('success',"file successfully stored");
}
Redirect with error message
public function create(Request $request)
{
return redirect()->route('home')
->with('error',"issue while upload");
}
Redirect with warning message
public function create(Request $request)
{
return redirect()->route('home')
->with('warning',"Don't Open this link");
}
Redirect with info message
public function create(Request $request)
{
return redirect()->route('home')
->with('info',"info message");
}
Read Also: Crud Application in Laravel
3 Comments