jquery validator

1.引入jquery.js与jquery.validate.js(可到jquery网站下载)
2.jquery validator有两种方式:一种是直接在表单ui标签中加class="XXX",一种是为表单写rules验证规则。很明显,第一种很不灵活,有可能影响到css,messages的配置也不方便。
3.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) 这一句可有可不无。

4.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: 输入拥有合法后缀名的字符串(上传文件的后缀)
例:accept:"doc|xls|ppt|pdf|zip|rar"
(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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值