代码如下:
jQuery.validator.addMethod("isEx",
//value代表的是表单传入的值
//element代表的是标签类型
params代表的rules里面写的东西
function(value, element, params)
{
var flag=false;
$.ajax({
//这一块必须打开同步,不然ajax还没有运行完毕,return就已经返回了
async:false,
//自动访问isExServlet进行查询是否存在用户
url:"${pageContext.request.contextPath}/isEx",
//查询完后data接收servlet的返回结果对应的还有一个error函数
success:function(data)
{
if(data.isEx==true)
flag=true;
},
//这个data和函数中的不一样,这是向servlet发送的data数据
data:{"username":value},
//datatype代表的是servlet向success函数和error函数返回数据的类型
dataType:"json",
//提交数据的方式
type:"Post"
});
return !flag;
},
//format中显示错误提示
jQuery.validator.format("用户已经存在"));
isEx为自定义规则。在这一块ajax必须用同步,不然ajax还没有对flag赋值,return就已经将值返回。
多加一个:optional(element):用于表单控件的值不为空时才触发验证,如果值为空时也要触发验证(在好多的自定义方法中都有这一个函数)