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')) }}
{{ Form::text('username', array('id' => 'username')) }}
<!-- `Email` Field -->
{{ Form::label('email', 'Email') }}
{{ Form::email('email_address', 'noreply@gmail.com', ['class' => 'field']) }}
{{ 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();
$("#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')
$.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);
}
$('#username_error').html(obj.message);
}
else
{
// Username Does not Exists : So we submit the form
$("#checksubmit").submit();
}
}
});
});
$("#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'));
}
}
{
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
Post a Comment