jQuery Validate验证框架详解.docx
- 文档编号:4871571
- 上传时间:2022-12-11
- 格式:DOCX
- 页数:9
- 大小:33.11KB
jQuery Validate验证框架详解.docx
《jQuery Validate验证框架详解.docx》由会员分享,可在线阅读,更多相关《jQuery Validate验证框架详解.docx(9页珍藏版)》请在冰豆网上搜索。
jQueryValidate验证框架详解
jQueryValidate验证框架详解(此处标题超链接)
链接地址:
一、导入js库
注:
<%=request.getContextPath()%>返回web项目的根路径。
二、默认校验规则
(1)、required:
true必输字段
(2)、remote:
"remote-valid.jsp"使用ajax方法调用remote-valid.jsp验证输入值
(3)、email:
true必须输入正确格式的电子邮件
(4)、url:
true必须输入正确格式的网址
(5)、date:
true必须输入正确格式的日期,日期校验ie6出错,慎用
(6)、dateISO:
true必须输入正确格式的日期(ISO),例如:
2009-06-23,1998/01/22只验证格式,不验证有效性
(7)、number:
true必须输入合法的数字(负数,小数)
(8)、digits:
true必须输入整数
(9)、creditcard:
true必须输入合法的信用卡号
(10)、equalTo:
"#password"输入值必须和#password相同
(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
三、默认的提示
messages:
{
required:
"Thisfieldisrequired.",
remote:
"Pleasefixthisfield.",
email:
"Pleaseenteravalidemailaddress.",
url:
"PleaseenteravalidURL.",
date:
"Pleaseenteravaliddate.",
dateISO:
"Pleaseenteravaliddate(ISO).",
dateDE:
"BittegebenSieeing眉ltigesDatumein.",
number:
"Pleaseenteravalidnumber.",
numberDE:
"BittegebenSieeineNummerein.",
digits:
"Pleaseenteronlydigits",
creditcard:
"Pleaseenteravalidcreditcardnumber.",
equalTo:
"Pleaseenterthesamevalueagain.",
accept:
"Pleaseenteravaluewithavalidextension.",
maxlength:
$.validator.format("Pleaseenternomorethan{0}characters."),
minlength:
$.validator.format("Pleaseenteratleast{0}characters."),
rangelength:
$.validator.format("Pleaseenteravaluebetween{0}and{1}characterslong."),
range:
$.validator.format("Pleaseenteravaluebetween{0}and{1}."),
max:
$.validator.format("Pleaseenteravaluelessthanorequalto{0}."),
min:
$.validator.format("Pleaseenteravaluegreaterthanorequalto{0}.")
},
如需要修改,可在js代码中加入:
$.extend($.validator.messages,{
required:
"必选字段",
remote:
"请修正该字段",
email:
"请输入正确格式的电子邮件",
url:
"请输入合法的网址",
date:
"请输入合法的日期",
dateISO:
"请输入合法的日期(ISO).",
number:
"请输入合法的数字",
digits:
"只能输入整数",
creditcard:
"请输入合法的信用卡号",
equalTo:
"请再次输入相同的值",
accept:
"请输入拥有合法后缀名的字符串",
maxlength:
$.validator.format("请输入一个长度最多是{0}的字符串"),
minlength:
$.validator.format("请输入一个长度最少是{0}的字符串"),
rangelength:
$.validator.format("请输入一个长度介于{0}和{1}之间的字符串"),
range:
$.validator.format("请输入一个介于{0}和{1}之间的值"),
max:
$.validator.format("请输入一个最大为{0}的值"),
min:
$.validator.format("请输入一个最小为{0}的值")
});
推荐做法,将此文件放入messages_cn.js中,在页面中引入
四、使用方式
1、metadata用法,将校验规则写到控件中
<%@pagelanguage="java"import="java.util.*"pageEncoding="UTF-8"%><%Stringpath=request.getContextPath();StringbasePath=request.getScheme()+":
//"+request.getServerName()+":
"+request.getServerPort()+path+"/";%>
DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN">
--id和name最好同时写上-->
true,minlength: 5}"/> true,minlength: 5,equalTo: '#password'}"/> --表示必须选中一个--> true}"/> --checkbox的minlength表示必须选中的最小个数,maxlength表示最大的选中个数,rangelength: [2,3]表示选中个数区间--> true,minlength: 2}"/> "class="{required: true}"> 使用class="{}"的方式,必须引入包: jquery.metadata.js; 可以使用如下的方法,修改提示内容: class="{required: true,minlength: 5,messages: {required: '请输入内容'}}"; 在使用equalTo关键字时,后面的内容必须加上引号,如下代码: class="{required: true,minlength: 5,equalTo: '#password'}"。 2、将校验规则写到js代码中 <%@pagelanguage="java"import="java.util.*"pageEncoding="UTF-8"%><%Stringpath=request.getContextPath();StringbasePath=request.getScheme()+": //"+request.getServerName()+": "+request.getServerPort()+path+"/";%> DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN"> true,//调试模式取消submit的默认提交功能//errorClass: "label.error",//默认为错误的样式类为: errorfocusInvalid: false,//当为false时,验证无效时,没有焦点响应 onkeyup: false,submitHandler: function(form){//表单提交句柄,为一回调函数,带一个参数: form alert("提交表单");form.submit();//提交表单},rules: {myname: {required: true},email: {required: true,email: true},password: {required: true,rangelength: [3,10]},confirm_password: {equalTo: "#password"}},messages: {myname: {required: "必填"},email: {required: "必填",email: "E-Mail格式不正确"},password: {required: "不能为空",rangelength: $.format("密码最小长度: {0},最大长度: {1}。 ")},confirm_password: {equalTo: "两次密码输入不一致"}}});}); --id和name最好同时写上--> 五、常用方法及注意问题 1、用其他方式替代默认的submit $(function(){$("#signupForm").validate({submitHandler: function(form){alert("submit! ");form.submit();}});}); 可以设置validate的默认值,写法如下: $.validator.setDefaults({ submitHandler: function(form){alert("submit! ");form.submit();} }); 如果想提交表单,需要使用form.submit(),而不要使用$(form).submit() 2、debug,只验证不提交表单 如果这个参数为true,那么表单不会提交,只进行检查,调试时十分方便 $(function(){$("#signupForm").validate({debug: true});}); 如果一个页面中有多个表单都想设置成为debug,用 $.validator.setDefaults({ debug: true }) 3、ignore: 忽略某些元素不验证 ignore: ".ignore" 4、更改错误信息显示的位置 errorPlacement: Callback Default: 把错误信息放在验证的元素后面 指明错误放置的位置,默认情况是: error.appendTo(element.parent());即把错误信息放在验证的元素后面 errorPlacement: function(error,element){ error.appendTo(element.parent()); } //示例 5px;"> 5px;"> function(error,element){if(element.is(": radio"))error.appendTo(element.parent().next().next());elseif(element.is(": checkbox"))error.appendTo(element.next());elseerror.appendTo(element.parent().next());} 代码的作用是: 一般情况下把错误信息显示在 errorClass: StringDefault: "error" 指定错误提示的css类名,可以自定义错误提示的样式 errorElement: StringDefault: "label" 用什么标签标记错误,默认的是label你可以改成em errorContainer: Selector 显示 errorPlacement:中,如果是checkbox显示在内容的后面
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- jQuery Validate验证框架详解 Validate 验证 框架 详解