Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jQuery验证和Ajax-失败后重置验证_Jquery_Coldfusion_Jquery Validate - Fatal编程技术网

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'); }

我有一个使用jQuery和验证插件的表单。一个元素使用Ajax检查用户名是否正在使用。当使用已知正在使用的用户名进行测试时,它工作正常,并突出显示说明用户名正在使用的字段。但是,当我将用户名更改为未使用的用户名时,它不会清除错误消息并重新验证

$("#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选项的更多信息: