How to Make Flash Message Laravel 8?

Laravel 8

Nicesnippets

230

16-10-2020


How to Make Flash Message Laravel 8?

Hi Guys,

In this tutorial,I will learn you how to use flash message in laravel 8.you can easy nad simply use flash message in laravel 8.

This tutorial is designed to give you Laravel 8 Flash Message example, mutually we will learn to how to integrate and use flash message in laravel 8. We would shed light on flash message example in laravel after login. Possibly, this is required in almost every application, be it built with laravel or any other language or framework.

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.

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

Step 1: Create Global File For Flash Message


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

There are following alert will added:

1)success

2)error

3)warning

4)info

5)validation error

So, let's create message.blade.php file and put bellow code on that file.

resources/views/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

Now we are going to call all the conjugated code from the message file in the main layout. Ultimately, create a new file and folder, path as follows layouts/app.blade.php, and incorporate the following code.

@include('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('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!');

}

To display an success message in your blade views, so you can add the below code in your blade file:

@if(Session::has('success'))

<div class="alert alert-success">

{{Session::get('success')}}

</div>

@endif

You can get layout of success flash message:

2. Redirect with error message

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

public function create(Request $request)

{

return redirect()->route('home')

->with('error','You have no permission for this page!');

}

To display an success message in your blade views, so you can add the below code in your blade file:

@if(Session::has('error'))

<div class="alert alert-danger">

{{Session::get('error')}}

</div>

@endif

You can get layout of success flash message:

3. Redirect with warning message

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

public function create(Request $request)

{

return redirect()->route('home')

->with('warning',"Don't Open this link");

}

To display an success message in your blade views, so you can add the below code in your blade file:

@if(Session::has('warning'))

<div class="alert alert-warning">

{{Session::get('warning')}}

</div>

@endif

You can get layout of success flash message:

4. Redirect with info message

We can simple redirect route or redirect url or redirect back with info 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('info','You added new items, follow next step!');

}

To display an success message in your blade views, so you can add the below code in your blade file:

@if(Session::has('info'))

<div class="alert alert-info">

{{Session::get('info')}}

</div>

@endif

You can get layout of success 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 error flash message.

public function create(Request $request)

{

$this->validate($request,[

'title' => 'required',

'details' => 'required'

]);

.....

}

You can get layout of success flash message:

I hope it can help you....


Recommended Posts