`
y_zjx
  • 浏览: 173804 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

jquery validator的使用

 
阅读更多
jquery validator的使用
jquery validator有两种方式:一种是直接在表单ui标签中加class="XXX",一种是为表单写rules验证规则。很明显,第一种很不灵活,有可能影响到css,messages的配置也不方便。

rules规则示例:

$().ready(function() {
// 自定义手机号码验证      
jQuery.validator.addMethod("isMobile", function(value, element) {      
var length = value.length;         
var mobile = /^(((13[0-9]{1})|(15[0-9]{1})|(18[0-9]{1}))+\d{8})$/;  
return this.optional(element) || (length == 11 && mobile.test(value));      
}, "请正确填写您的手机号码");

$("#teamForm").validate({
rules: {
  "team.name":{
required:true,
remote: {   
url: "checkName.action",  //后台处理程序
type: "post",             //数据发送方式 
dataType: "json",         //接受数据格式    
data: {}                  //要传递的数据,
               默认已传递应用此规则的表单项
}
},
"team.phone":{
isMobile:true,
maxlength:20
}
},
   messages: {
  "team.name": {
required:"请输入团队名称",
remote:"此团队已存在,请使用其他名称"
  },
  "team.phone":{
isMobile:"请输入合法的移动电话",
maxlength:"移动电话不能超过20个字"
  }
   }
});
  });

注意事项及说明:

1)其中$("#teamForm")中的teamForm是表单的ID,"team.name"是表单中name="team.name"属性值,主要是针对struts2中name="entry.属性"形式的input表单。如果是name="userName"的input,这里就不需要加""双引号,直接写userName:{}。另外特别注意验证规则中"team.name"的是针对表单中的name属性值而不是id的属性值

2)remote:远程验证:只允许后台返回true或者false,要引入的包:struts2-json-plugin-2.1.8.1.jar、json-lib-2.1.jar、commons-相关包

action示例:

private boolean validate=false;
     private Teams team;
     get...
     set..
     public String checkName(){
        if(team.getName()在数据库中已经存在){
        this.validate=false;
        }else{
   this.validate=true;
        }
        return SUCCESS;
     }
     struts.xml配置
     <package name="team" namespace="/team" extends="json-default">
        <action name="checkName" class="teamAction" method="checkName">
          <result type="json">
             <param name="root">validate</param>
          </result>                     
        </action>
     </package>

3)rules里配置验证规则,messages配置验证消息,两个要对应。

4)jQuery.validator.addMethod("a", function(value, element) { }, "b"); 自定义验证方法的格式。

    a表示是该自定义验证方法的引用名称,value是jquery自动获取到被验证表单属性的值,element是该表单属性在document中的元素例如input,b是默认返回消息。
    自定义验证方法必须返回ture或false,this.optional(element) 这一句可有可不无。

jquery自带的验证方法

(1)required:true               必输字段
(2)remote:"check.php"          使用ajax方法调用check.php验证输入值,远程方法调用,
                               只允许后台返回true或者false
(3)email:true                  必须输入正确格式的电子邮件
(4)url:true                    必须输入正确格式的网址
(5)date:true                   必须输入正确格式的日期
(6)dateISO:true                必须输入正确格式的日期(ISO),例如:2009-06-23,
                               1998/01/22 只验证格式,不验证有效性
(7)number:true                 必须输入合法的数字(负数,小数)
(8)digits:true                 必须输入整数
(9)creditcard:                 必须输入合法的信用卡号
(10)equalTo:"#field"           输入值必须和#field相同
(11)accept:                    输入拥有合法后缀名的字符串(上传文件的后缀)
(12)maxlength:5                输入长度最多是5的字符串(汉字算一个字符)
(13)minlength:10               输入长度最小是10的字符串(汉字算一个字符)
(14)rangelength:[5,10]         输入长度必须介于 5 和 10 之间的字符串")
                               (汉字算一个字符)
(15)range:[5,10]               输入值必须介于 5 和 10 之间
(16)max:5                      输入值不能大于5
(17)min:10                     输入值不能小于10


分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics