【发布时间】:2011-07-06 06:37:05
【问题描述】:
所以我有一个自定义验证器根据我的可接受邮政编码数据库检查输入的邮政编码。
我的自定义方法如下:
jQuery.validator.addMethod("validZip", function(value, element){
var _id = $(element).attr("id");
$.post(
'/xpress/wp-admin/admin-ajax.php',
{action:"test_checkZip", zip:value},
function(response){
if (result == 0){
return false;
} else {
return true;
}
}
);
}, '*');
我认为,问题在于,由于 ajax 不阻塞请求的延迟,因此无法及时为验证器返回真/假结果以使其被识别。
只要结果为真,它就无法隐藏错误消息并且表单无法提交。
我已经能够通过显式隐藏错误元素来隐藏 return true 代码块中的错误消息。错误消息确实隐藏了,然而,表单仍然返回 false,因为自定义方法无法返回 true。
我做错了吗?我该如何解决这个问题?
非常感谢。
【问题讨论】:
标签: jquery ajax validation