jquery.validate学习总结
来源:互联网 发布:域名批量询价软件 编辑:程序博客网 时间:2024/06/05 10:40
1.自定义中文消息,可以写成jquery.validate.message_cn.js与jquery.validate.js一起引用
//自定义中文消息var cn_msg = { required:"必选字段", remote:"请修正改字段", email:"请输入正确格式的电子邮件", url:"请输入合法的网址", date:"请输入合法的日期", dateISO:"请输入合法的日期(ISO)", number:"请输入合法的数字", digits:"只能输入整数", creditcard:"请输入合法的信用卡账号", equalTo:"请再次输入相同的值", accept:"请输入拥有合法后缀名的字符串",//accept:"jpg|gif" maxlength:$.format("请输入一个长度最多是{0}的字符串"), minlength:$.format("请输入一个长度最少是{0}的字符串"), rangelength:$.format("请输入一个长度介于{0}和{1}之间的字符串"), range:$.format("请输入一个介于{0}和{1}之间的值"), max:$.format("请输入一个最大为{0}的值"), min:$.format("请输入一个最小为{0}的值")};$.extend($.validator.messages,cn_msg);
2.自定义扩展功能
jQuery(document).ready(function(){ jQuery.validator.addMethod( "isMobile", function(value,element){ var regex_mobile = /^1[3,5,8]\d{9}$/; return this.optional(element) || (regex_mobile.test(value)); }, "请正确填写手机号码" );//手机号验证 jQuery.validator.addMethod( "isTel", function(value,element){ var regex_tel = /^\d{3,4}-\d{7,8}$/; return this.optional(element) || (regex_tel.test(value)); }, "请输入正确的电话号码例如:0411-89898899" );//电话号码验证 jQuery.validator.addMethod( "isIDCard", function(value,element){ var regex_card15 = /^\d{14}[0-9a-zA-Z]$/; var regex_card18 = /^\d{17}[0-9a-zA-Z]$/; return this.optional(element) || (regex_card15.test(value) || regex_card18.test(value)); }, "请输入正确的身份证号码" );//身份证粗略校验 jQuery.validator.addMethod( "isLN", function(value,element){ var regex_val = /^[a-zA-z]\w*$/; return this.optional(element) || (regex_val.test(value)); }, "只能为字母数字或下划线,以字母开头" ); jQuery.validator.addMethod( "byteRangeLenth", function(value,element,param){ var length = value.length; for(var i = 0;i<value.length;i++){ if(value.charCodeAt(i) >127){ length ++; } } return this.optional(element) || (length >= param[0] && length <= param[1]); }, jQuery.format("请确保输入的值在{0}-{1}个字节之间(一个中文算2个字节)") );});
3.使用验证
1)Master页进行验证
<%@ Master Language="C#" AutoEventWireup="true" CodeBehind="MasterPage.Master.cs" Inherits="JSTest.Master" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" ><head runat="server"> <title>Master Page</title> <script language="javascript" type="text/javascript" src="js/jquery-1.4.2.min.js"></script> <script language="javascript" type="text/javascript" src="js/jquery.validate.min.js"></script> <script language="javascript" type="text/javascript" src="js/jquery.validate.message_cn.js"></script> <script type="text/javascript" language="javascript" src="js/MasterPage.js"></script> <script language="javascript" type="text/javascript"> var opts = null; </script> <asp:ContentPlaceHolder ID="head" runat="server"> </asp:ContentPlaceHolder></head><body> <form id="form1" runat="server"> <div> <div style="text-align:right"><a href="Default.aspx"> 主页 </a></div> <br /> <asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server"> Master Content </asp:ContentPlaceHolder> </div> </form> <script type="text/javascript" language="javascript"> jQuery(document).ready(function(){ if(opts!=undefined && opts!=null){ jQuery("#<%=form1.ClientID %>").validate(opts); } else{ jQuery("#<%=form1.ClientID %>").validate(); } }); </script></body></html>
定义全局变量opts,然后在要验证页面的script中写如下代码:
opts={ /*验证规则*/ rules:{ '<%=txtUserID.UniqueID %>':{required:true,isLN:true}, '<%=txtUserName.UniqueID %>':{required:true}, '<%=txtAge.UniqueID %>':{required:true,number:true,range:[1,99]}, '<%=txtEmail.UniqueID %>':{required:true,email:true}, '<%=txtMobile.UniqueID %>':{required:true,isMobile:true}, '<%=txtPwd.UniqueID %>':{required:true,minlength:6}, '<%=txtRePwd.UniqueID %>':{required:true,minlength:6,equalTo:"#<%=txtPwd.ClientID %>"}, 'txtDate':{required:true,dateISO:true,date:true} }, /*提示信息*/ messages:{ '<%=txtPwd.UniqueID %>':{required:"不输入密码怎么行?",minlength:"密码太短了最少6位"}, '<%=txtUserID.UniqueID %>':{required:"输入用户名?"}, '<%=txtAge.UniqueID %>':{range:jQuery.format("您的年龄要在{0}-{1}之间")}, 'txtDate':{required:"日期必须要填",dateISO:"日期格式不对",date:"必须是日期"} }, /* 错误信息的显示位置 */ errorPlacement: function(error, element){ error.appendTo(element.parent()); }, /* 验证通过时的处理 */ success: function(label){ // set as text for IE label.html(" ").addClass("checked"); }, /* 获得焦点时不验证 */ focusInvalid: false, onkeyup: false };
在按钮submit的时候就会去做validate判断。注:因为使用了master页,所以取服务器控件的ID时用<%=ControlName.UniqueID%>。
2)验证写在方法中,可以自定义调用时间
function checkTest(){ opts = { rules:{ '<%=txtMobile.UniqueID %>':{required:true,isMobile:true} }, messages:{ '<%=txtMobile.UniqueID %>':{required:"手机号不能不输入",isMobile:"手机号需要填11位,哈哈哈"} } }; $("#aspnetForm").data("validator", null); $("#aspnetForm").validate(opts); //$("#<%=txtIDCard.ClientID %>").rules("add",{required:true,isIDCard:true}); $("#<%=txtIDCard.ClientID %>").rules("add",{required:true,isIDCard:true,messages:{required:"身份证必须输入",isIDCard:"身份证!!!"}}); $("#<%=txtUserName.ClientID %>").rules("add",{required:true,byteRangeLenth:[2,10]}); var k = $("#aspnetForm").validate().element("#<%=txtIDCard.ClientID %>"); //输出True OR False var x = $("#aspnetForm").validate().element("#<%=txtUserName.ClientID %>");}function unbind() { $("#aspnetForm").unbind('submit');}
附上一个验证时候文本框CSS
<style type="text/css"> #firstTable .labels { text-align:right; } #firstTable .contents { text-align:left; } label.error { color:Red; font-style:italic; padding-left:20px; } input.error { border:dashed 1px red; } </style>
- jquery.validate学习总结
- jQuery Validate 校验框架学习总结
- JQuery Validate使用总结
- jquery 插件 validate 总结
- JQuery Validate使用总结
- Jquery Validate 总结
- jquery.validate学习中..............
- jquery-validate学习
- jquery.validate学习
- jQuery.validate学习笔记
- jquery.validate 学习笔记
- JQuery Validate学习笔记
- jQuery.validate学习笔记
- 学习JQuery EasyUI总结(一) 表单提交与validate
- jQuery validate参数验证总结
- MVC JQuery Validate使用总结
- 关于jquery validate的使用总结
- jquery的validate最基础使用总结
- 深入浅出PHP面向对象与设计模式3--抽象工厂模式
- If IE Html里面的条件控制语句
- 有关性能测试结果的几点分析原则
- Zend Server 错误:The server encountered an internal error or misconfiguration and was unable to comple
- RFC2326-实时流协议(RTSP)
- jquery.validate学习总结
- 集电极开路(OC)/漏极开路(OD)输出的结构
- DB2 如何创建nickname
- 控制软键盘的显示与隐藏
- linux 内在映射
- 使用fsck命令修复linux文件系统错误【避开引起系统崩溃,启动不了的"-a"选项】
- PHP设计模式笔记:使用PHP实现桥梁模式
- ios 响应上下左右滑动的手势
- hdu 2888 二维rmq