jQuery验证和Ajax-失败后重置验证
我有一个使用jQuery和验证插件的表单。一个元素使用Ajax检查用户名是否正在使用。当使用已知正在使用的用户名进行测试时,它工作正常,并突出显示说明用户名正在使用的字段。但是,当我将用户名更改为未使用的用户名时,它不会清除错误消息并重新验证jQuery验证和Ajax-失败后重置验证,jquery,coldfusion,jquery-validate,Jquery,Coldfusion,Jquery Validate,我有一个使用jQuery和验证插件的表单。一个元素使用Ajax检查用户名是否正在使用。当使用已知正在使用的用户名进行测试时,它工作正常,并突出显示说明用户名正在使用的字段。但是,当我将用户名更改为未使用的用户名时,它不会清除错误消息并重新验证 $("#frmID").validate({ onkeyup:false, highlight: function(element, errorClass) { $(element).addClass('inputError'); }
$("#frmID").validate({
onkeyup:false,
highlight: function(element, errorClass) {
$(element).addClass('inputError');
},
unhighlight: function(element, errorClass) {
$(element).removeClass('inputError');
},
rules: {
username :{
required: true,
usernamecheck: true
}
然后用户名检查功能是:
$.validator.addMethod('usernamecheck',function(username) {
var result = true;
var postURL = compath + "/user.cfc?method=QueryUserExists&returnformat=plain&";
$.ajax({
cache:false,
async:false,
type: "POST",
data: "username=" + username,
url: postURL,
success: function(msg) {
result = (msg=='FALSE')? true : false;
}
});
return result;
},'');
为了清晰起见,我省略了验证错误消息和其他一些验证。我将尝试删除高亮显示和取消高亮显示方法,只需在验证设置中指定errorClass选项。因为您所做的只是添加和删除一个类,所以您可以让验证框架为您这样做。您可以在此处查看有关errorClass选项的更多信息: