Laravel 8 Flash Message With Example

Laravel

201

SHUBHAM KUSHWAH

27-09-2020


Laravel 8 Flash Message with Example

I am going to explain to you an example of laravel 8 flash message example. We will use laravel 8 flash message from the controller. Step by step explains laravel 8 flash message notification. This example will help you flash message laravel 8. You will do the following things for creating flash message laravel 8.

We will define various types of flash message notification like alert-success, alert danger, alert info, alert warning messages in bootstrap laravel 8 projects. When you have the success task of the controller method, then you can use the success flash message, if you have any error task then you can use an error flash message.

Flash messages are required in laravel 8 applications 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 a 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 a good layout.

So, you have to just follow the basic three-step to integrate the flash message in your laravel 8 application. So let's follow the below step:

Step 1: Create Global File For Flash Message

In the first step, we will create a new blade file flash-message.blade.php. In this file, we will write the code of bootstrap alert and check which messages come.

There are the following alert will be added:

1)success

2)error

3)warning

4)info

5)validation error

So, let's create a flash-message.blade.php file and put the code bellow in that file.

resources/views/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
  
@if ($errors->any())
<div class="alert alert-danger">
    <button type="button" class="close" data-dismiss="alert">×</button>    
    Please check the form below for errors
</div>
@endif

Step 2: Use Flash Message in Theme

In this step we have to just include flash-message.blade.php file in your theme default file. You have to just include this flash file in your default theme blade file like as bellow:

@include('flash-message')

You can also see i added flash file on my theme, so you can add that way. Let's see bellow example:

resources/views/layouts/app.blade.php

<!DOCTYPE html>

<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>

Step 3: Use Flash Messages with Redirect

In this step we will learn how to give message when you redirect one by one:

1. Redirect with success message

We can simple redirect route or redirect url or redirect back with success flash message, we can use in controller like this way:

public function create(Request $request)
{
    $this->validate($request,[
        'title' => 'required',
        'details' => 'required'
        ]);

    $items = Item::create($request->all());

    return back()->with('success','Item created successfully!');
}

You can get the layout of the success flash message.

2. Redirect with an error message

We can simply redirect the route or redirect URL or redirect back with an error flash message, we can use the controller like this way:

public function create(Request $request)
{
    return redirect()->route('home')
        ->with('error','You have no permission for this page!');
}

You can get the layout of the error flash message.

3. Redirect with a warning message

We can simply redirect the route or redirect URL or redirect back with a warning flash message, we can use in the controller like this way:

public function create(Request $request)
{
return redirect()->route('home')
->with('warning',"Don't Open this link");
}

You can get the layout of the warning flash message:

4. Redirect with info message

We can simply redirect the route or redirect URL or redirect back with info flash message, we can use in the controller like this way:

public function create(Request $request)
{
    $this->validate($request,[
        'title' => 'required',
        'details' => 'required'
        ]);

    $items = Item::create($request->all());

    return back()->with('info','You added new items, follow next step!');
}

You can get the layout of the info flash message.

5. Validation Error

If you use laravel 5 validation then you will redirect back with errors automatically, At that time it will also generate an error flash message.

public function create(Request $request)
{
    $this->validate($request,[
        'title' => 'required',
        'details' => 'required'
        ]);

    .....
}

You can get the layout of the error flash message.

This way you can simply implement flash messages in your laravel 8 application.