I have one remote rule and some other basic required rules. Oddly if my remote rule passes, but some of the other rules fail, it will go ahead and submit the form. I've tried moving the remote rule to the back or front of the list to see if it made a difference, and it didn't. Has anyone encountered this?
http://jsfiddle.net/LU5sU/7/ ( to pass validation, enter test in the promo code box. )
$('#ticket-form').validate({
onfocusout: false,
onkeyup: false,
onclick: false,
rules: {
code: {
required: true,
remote: {
url: "http://www.bobmurdoch.com/ajax.php",
type: "post",
async: false,
data: {
action: "check_code",
code: function () {
return $("#code").val();
}
}
}
},
first_name: {
required: true
},
last_name: {
required: true
},
company: {
required: true
},
address: {
required: true
},
city: {
required: true
},
state: {
required: true
},
zip: {
required: true
},
phone: {
required: true
},
email: {
required: true,
email: true
},
survey_question_1: {
required: false
}
},
messages: {
code: {
required: "Please enter a valid promo code",
remote: "Please enter a valid promo code"
},
first_name: "Please enter a value for First Name",
last_name: "Please enter a value for Last Name",
company: "Please enter a value for Company",
address: "Please enter a value for Address",
city: "Please enter a value for City",
state: "Please enter a value for State",
zip: "Please enter a value for Zip/Postal Code",
phone: "Please enter a value for Phone",
email: {
required: "Please enter a valid e-mail address",
email: "Please enter a valid e-mail address"
}
},
showErrors: function (errorMap, errorList) {
var errors = '';
for (var i in errorList) {
errors = errors + errorList[i].message + "\n"
}
if (errors != '') {
alert(errors);
}
}
});