How To Check Email Already Exist Or Not In Laravel

Websolutionstuff | Aug-07-2020 | Categories : Laravel PHP jQuery

In this article, we will show how to check whether the email already exists or not in laravel. Also, we will check laravel unique email validation. And if the email id exists in the database or not using the ajax call jquery.

Many times users register with duplicate or existing email IDs and it is very difficult to maintain data or records in the database. So we will check email exists or not, if the email already registers with the same email id then we will display an error message to the user like the email already exists.

So, let's see laravel check whether the email address already exists or not in the database.

Here I have created a controller and added the below code in my controller.

Use Response;
public function userEmailCheck(Request $request)
{

	$data = $request->all(); // This will get all the request data.
	$userCount = User::where('email', $data['email']);
	if ($userCount->count()) {
		return Response::json(array('msg' => 'true'));
	} else {
		return Response::json(array('msg' => 'false'));
	}
}

 

 

Now create a blade file for view and add javascript validation in this file.

<div class="form-group row">
	<label for="email" class="col-md-4 col-form-label text-md-right">{{ __('E-Mail Address') }}</label>

	<div class="col-md-6">
		<input id="email" type="email" class="form-control @error('email') is-invalid @enderror" name="email" value="{{ old('email') }}" required autocomplete="email">

		@error('email')
			<span class="invalid-feedback" role="alert">
				<strong>{{ $message }}</strong>
			</span>
		@enderror
	</div>
</div>

<script src="https://code.jquery.com/jquery-3.5.1.min.js"></script>  // if required
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.19.2/jquery.validate.min.js" type="text/javascript"></script>

<script>    
    var email =  $("#email").val();
    $('#registration').validate({
        rules: {            
            email: {
                required: true,
                email: true,
                remote: {
                    url: '{{url('user/checkemail')}}',
                    type: "post",
                    data: {
                        email:$(email).val(),
                        _token:"{{ csrf_token() }}"
                        },
                    dataFilter: function (data) {
                        var json = JSON.parse(data);
                        if (json.msg == "true") {
                            return "\"" + "Email address already in use" + "\"";
                        } else {
                            return 'true';
                        }
                    }
                }
            }
        },
        messages: {            
            email: {
                required: "Email is required!",
                email: "Enter A Valid EMail!",
                remote: "Email address already in use!"
            }
        }
    });
</script>

 


You might also like:

Recommended Post
Featured Post
How To Integrate Razorpay Payment Gateway In Laravel 9
How To Integrate Razorpay Paym...

In this article, we see how to integrate razorpay payment gateway in laravel 9. As you all know if you are developi...

Read More

Apr-11-2022

How to Remove Elements From JavaScript Array
How to Remove Elements From Ja...

Today we will learn how to remove elements from javascript array, you can use diffrents javascript array...

Read More

Apr-07-2021

How to Create Payment Link in Stripe using API in Laravel 10
How to Create Payment Link in...

In today's digital age, the ability to facilitate online payments efficiently is crucial for businesses and develope...

Read More

Oct-09-2023

How To Open Datepicker Popup In Angular 15 Material
How To Open Datepicker Popup I...

In this tutorial, I will guide you through the process of opening the datepicker popup in the Angular 15 Material framew...

Read More

Jul-10-2023