so i have a form and i want to check if a username exits before the user submits the form i'm using jquery validation plugin to validate the form and send a post request to check if the user name is vailable but i'm getting a server error of 419 and sometimes 500. here is a snippet of my code i have been told by someone it may have something to do with a csrf token laravel generates when a post request is sent however i don't know what to do ?
js code below.
$.validator.addMethod('firstname_regex', function(value,element){
return this.optional(element) || fnameregex.test(value);
},'This name is not valid.')
$.validator.addMethod('lastname_regex', function (value,element) {
return this.optional(element) || lnameregex.test(value);
},'This name is not valid')
$.validator.addMethod('username_regex', function (value,element) {
return this.optional(element) || usernameregex.test(value);
},'This username is not valid')
$.validator.addMethod('password_regex', function (value,element) {
return this.optional(element) || passregex.test(value);
},'Passwords must be eight characters or more contain one uppercase, one numeric
number and one lowercase.')
$(function(){
$('#signupform').validate({
rules:{
firstname:{
required:true,
firstname_regex:true,
nowhitespace:true,
minlength:3,
},
lastname:{
required:true,
lastname_regex:true,
nowhitespace:true,
minlength:3,
},
username:{
required:true,
username_regex:true,
nowhitespace:true,
remote:{
url:"checkusers",
type:"post"
}
},
email:{
required:true,
email:true,
nowhitespace:true,
},
password:{
required:true,
password_regex:true,
nowhitespace:true,
},
passconfirm:{
required:true,
password_regex:true,
nowhitespace:true,
equalTo:"#password",
}
},
highlight: function(element) {
$(element).closest('.form-group').addClass('has-error');
$(element).closest('.form-control').css("border-color","#a94442");
},
unhighlight: function(element) {
$(element).closest('.form-group').removeClass('has-error');
$(element).closest('.form-control').css("border-color","#00b8e6");
},
messages:{
passconfirm:{
equalTo:"Please ensure your passwords match."
},
firstname:{
minlength:"Please enter a valid name."
},
lastname:{
minlength:"Please enter a valid name."
},
username:{
remote: "This username already exits."
}
}
});
})
code for my controller
Route::post('/checkusers',function(){
$user = users::all()->where('username', Input::get('username'))->first();
if ($user) {
return false;
} else {
return true;
}
});
i hope i am being clear enough for you guys to help me thanks very much. someone mention some about a token needs to be sent for laravel active session authentication I don't know what this means or how to go about solving but hopefully that may shed some light on my problem for anyone to help.