jQuery validate远程验证跟只显示第一条未通过结果

  1. $(function(){  
  2.       
  3.     validateRules();  
  4.   
  5. });  
  6.   
  7. /** 
  8.  * 自定义表单校验规则 
  9.  */  
  10. function validateRules(){  
  11.     $('#mainForm').validate({  
  12.         ignore: [], //验证隐藏元素  
  13.         onkeyup:false,  
  14.         rules: {  
  15.             meetingType:{  
  16.                 required:true  
  17.             },  
  18.             userTypeOption:{  
  19.                 required:true  
  20.             },  
  21.             loginName:{  
  22.                 required:true,  
  23.                 maxlength:30,  
  24.                 isName:true,  
  25.                 remote:{  //远程验证登录名  
  26.                     url:'/userInfo/checkLoginName',  
  27.                     // data:{},若没自定义参数,他默认会把表单上name为loginName元素的值发送到后台  
  28.                     dataFilter:function (data) {  
  29.                         var data = eval('('+data+')');  
  30.                         //他需要后台返回的是布尔值,若后台返回的不是布尔值,可以手动给他布尔值  
  31.                         return data.code == 2   //1:登录名不可用  2:登录名可用  
  32.                     }  
  33.                 },  
  34.                 //备注:若你后台返回的就是布尔值可以直接这样写  
  35.                 //remote:'/userInfo/checkLoginName'  
  36.             },  
  37.             userName:{  
  38.                 required:true,  
  39.                 maxlength:30  
  40.             },  
  41.             npcNumber:{  
  42.                 required:true,  
  43.                 digits:true  
  44.             },  
  45.             passWord:{  
  46.                 required:true  
  47.             },  
  48.             passWord2:{  
  49.                 required:true,  
  50.                 equalTo:'#passWord'  
  51.             },  
  52.             mobileNumber:{  
  53.                 required:true,  
  54.                 isMobile:true,  //该验证规则为自定义规则,代码在下面  
  55.                 remote:{  //远程验证手机号  
  56.                     url: "/userInfo/checkPhone",  
  57.                     dataFilter:function(data){  
  58.                         var data = eval('('+data+')');  
  59.                         return data.code == 1   //1:手机未注册 -1:手机已注册  
  60.                     }  
  61.                 }  
  62.             }  
  63.         },  
  64.         messages: {  
  65.             meetingType:{  
  66.                 required:'请选择所属大会类型'  
  67.             },  
  68.             userTypeOption:{  
  69.                 required:'请选择用户类别'  
  70.             },  
  71.             loginName:{  
  72.                 required:'请输入登录名称',  
  73.                 maxlength:'登录名称不能超过30个字符',  
  74.                 remote:'该登录名已存在服务器'  
  75.             },  
  76.             userName:{  
  77.                 required:'请输入用户姓名',  
  78.                 maxlength:'用户名称不能超过30个字符'  
  79.             },  
  80.             npcNumber:{  
  81.                 required:'请输入代表证号',  
  82.                 digits:'请输入数字'  
  83.             },  
  84.             passWord:{  
  85.                 required:'请输密码',  
  86.             },  
  87.             passWord2:{  
  88.                 required:'请再次输入密码',  
  89.                 equalTo:'两次密码输入不一致'  
  90.             },  
  91.             mobileNumber:{  
  92.                 required:'请输入手机号',  
  93.                 remote:'这个手机号已存在'  
  94.             }  
  95.         },showErrors:function(errorMap,errorList) {  
  96.                 //在这里改变他的默认提示消息,本人用的是弹窗的形式,只弹出第一条验证未通过的错误消息  
  97.             if(errorList.length > 0){  
  98.                 layer.msg(errorList[0].message,{time:2000})  
  99.             }  
  100.         }  
  101.     });  
  102. }  
  103.   
  104. /** 
  105.  * 扩展自定义验证规则 
  106.  */  
  107. jQuery.validator.addMethod("isMobile", function(value, element) {  
  108.     var length = value.length;  
  109.     var reg = /^1[358]{1}\d{9}$/;  
  110.     return this.optional(element) || (length == 11 && reg.test(value));  
  111. }, "手机号格式不正确");  
  112.   
  113. jQuery.validator.addMethod("isName", function(value, element) {  
  114.     var reg = /^[0-9a-zA-Z]{4,20}$/;  
  115.     return this.optional(element) || (reg.test(value));  
  116. }, "登录名必须是4-20位的字母和数字");  

猜你喜欢

转载自my.oschina.net/u/3483680/blog/1823673