自定义validate的效验规则 检验用户名是否存在

<script type="text/javascript">
    //自定义效验规则
    $.validator.addMethod(
        //规则名称
        "checkUsername",
        function (value,element,params) {

            //定义一个标志
            var flag=false;


            //value:输入的内容
            //element:被效验的元素对象
            //params:规则对应的参数值
            //目的:对输入的username进行ajax效验
            $.ajax({
                "async":false,
                "url":"${pageContext.request.contextPath}/check",
                "data":{"username":value},
                "type":"POST",
                "dataType":"json",
                "success":function (data) {
                    flag=data.isExist;

                }
            });

            //如果false代表该效验不通过
            return !flag;
        }

    )


    $(function(){
        $("#myform").validate({
            rules:{
                "username":{
                    "required":true,
                    "checkUsername":true
                }
      },

        messages:{
          "username":{
          "required":"用户名不能为空",
          "checkUsername":"用户名已存在"
       },

})
});
</script>

后端需要将servlet获取到的输入值 封装成json响应给前端

 String username=request.getParameter("username");
        UserService service=new UserService();
        boolean isExist=service.checkUsername(username); //这个isExist是从后端数据库返回过来的

        String json="{\"isExist\":"+isExist+"}";
        response.getWriter().write(json);

猜你喜欢

转载自www.cnblogs.com/benjamin77/p/9253254.html
今日推荐