Laravel : Check User Availability by submitting HTML form using Jquery AJAX

You can use any other Jquery Events for my use-case i wanted it to happen on Submitting the form.

Route File

Route::get('user/{username}/CheckUsername', 'UserController@checkUsername');

Blade file


{{ Form::open(array('route' => 'user/signup','id' => 'formcheck')) }} 

 <!-- `Username` Field --> 
 {{ Form::label('username', 'Username') }}
<span id="username_error" style="color:red"></span>
{{ Form::text('username', array('id' => 'username')) }}

 <!-- `Email` Field --> 
{{ Form::label('email', 'Email') }}
{{ Form::email('email_address', 'noreply@gmail.com', ['class' => 'field']) }}

  <!-- Form actions --> 
<a href='{{URL::previous()}}' >Cancel</a> 
<button id="checksubmit" type='submit' >Submit</button> 

{{ Form::close() }}
  

//JavaScript

For jQuery Ajax Form Submit, we can use jQuery.ajax()  or jQuery.post() method

 
<script>
$("#formcheck").click(function(event) {
     /* stop form from submitting*/
    event.preventDefault();
   

   var username = '';
   username = $("#username").val();

     $.ajax({
     url : "{{URL::to('user/"+username+"/CheckUsername')}}",
     success:function(response){
         var obj = $.parseJSON(response);
         if(obj.msg_status == 'error')
         {
             // The username exists : Error message
             $('#username_error').html(obj.message);
         }
         else
         {
             // Username Does not Exists : So we submit the form    
             $("#checksubmit").submit();
            }
        }
});
});
</script>
 

User Controller

public function CheckUsername($username)
{
       if(empty($username))
       {
            return json_encode(array('msg_status' => 'error' , 'message' => 'Username cannot be Empty'));
       }
       else
       {
            $user_details = DB::table('users')-> where('username','=',$username) ->first();
            if(empty($user_details))
                return json_encode(array('msg_status' => 'success' , 'message' => 'Username cannot be Empty'));
            else
                return json_encode(array('msg_status' => 'error' , 'message' => 'Username already Exists'));
           
       }
}

 

 
 
 
 
 
 
 
 
 

Comments

Popular posts from this blog

Using Redis in PHP for handling background Jobs

DrillDown using Flot Charts

Securely setting Files and Folder permissions on Laravel 5