验证的效果如图:
学习Jquery表单验证插件自己琢磨,加上网上看了些攻略,基本算是学会使用这个插件了,下面分享一下我的心得;
我的开发环境是VS2008+jquery-1.4.2.min.js+jquery.validate.min.js
新建了项目,项目下面保护JS目录,主要存放Jquery插件jquery-1.4.2.min.js+jquery.validate.min.js以及外链JS,register.js
images目录,主要存放验证时候错误信息的小图标
css目录,主要存放样式文件
首先在默认页面default.aspx<head>标记中引入JS以及CSS
1 <link type="text/css" href="css/css.css" rel="stylesheet" /> 2 <script type="text/javascript" src="js/jquery-1.4.2.min.js"></script> 3 <script type="text/javascript" src="js/jquery.validate.min.js"></script> 4 <script type="text/javascript" src="js/register.js"></script>
PS:这里得注意以下,就是Jquery插件得在验证插件前面引用,顺序错了可能发生Jquery无效的问题。
我页面结构代码如下:
View Code
1 <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="regValidator._Default" %> 2 3 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd "> 4 5 <html xmlns=" http://www.w3.org/1999/xhtml " > 6 <head runat="server"> 7 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 8 <title>jQusery学习之表单验证</title> 9 <link type="text/css" href="css/css.css" rel="stylesheet" /> 10 <script type="text/javascript" src="js/jquery-1.4.2.min.js"></script> 11 <script type="text/javascript" src="js/jquery.validate.min.js"></script> 12 <script type="text/javascript" src="js/register.js"></script> 13 </head> 14 <body> 15 <form id="register_form" runat="server"> 16 <table border="0" cellpadding="0" cellspacing="0"> <tr> 17 <th colspan="2">jQusery学习-表单验证之用户注册</th> 18 </tr> 19 <tr> 20 <td width="25%">用户名:</td> 21 <td> 22 <asp:TextBox ID="txtUserName" runat="server" CssClass="ipt_txt"></asp:TextBox><span id="msg"></span> 23 </td> 24 </tr> 25 <tr> 26 <td>密码:</td> 27 <td> 28 <asp:TextBox ID="txtUserPwd" TextMode="Password" runat="server" CssClass="ipt_txt"></asp:TextBox> 29 30 </td> 31 </tr> 32 <tr> 33 <td>确认密码:</td> 34 <td> 35 <asp:TextBox ID="txtRUserPwd" TextMode="Password" runat="server" CssClass="ipt_txt"></asp:TextBox> 36 </td> 37 </tr> 38 <tr> 39 <td>地址:</td> 40 <td> 41 <asp:TextBox ID="txtAddress" runat="server" CssClass="ipt_txt"></asp:TextBox> 42 </td> 43 </tr> 44 <tr> 45 <td>网址:</td> 46 <td> 47 <asp:TextBox ID="txtUrl" runat="server" CssClass="ipt_txt"></asp:TextBox> 48 </td> 49 </tr> 50 <tr> 51 <td>电话号码:</td> 52 <td> 53 <asp:TextBox ID="txtPhone" runat="server" CssClass="ipt_txt"></asp:TextBox> 54 </td> 55 </tr> 56 <tr> 57 <td>邮政编码:</td> 58 <td> 59 <asp:TextBox ID="txtZipCode" runat="server" CssClass="ipt_txt"></asp:TextBox> 60 </td> 61 </tr> 62 <tr> 63 <td>邮箱地址:</td> 64 <td> 65 <asp:TextBox ID="txtEmail" runat="server" CssClass="ipt_txt"></asp:TextBox> 66 </td> 67 </tr> 68 <tr> 69 <td colspan="2"> 70 <asp:Button ID="Button1" runat="server" Text="注册" onclick="Button1_Click" /></td> 71 </tr> 72 </table> 73 </form> 74 </body> 75 </html>
在附上CSS文件代码:
View Code
1 /* CSS Document */ 2 body{ text-align:center; margin:10px auto; font-size:12px;} 3 table{ width:500px; text-align:center; margin:0 auto; border-top:1px solid #B1C3D9; border-left:1px solid #B1C3D9;} 4 table tr th,table tr td{ font-size:12px; border-bottom:1px solid #B1C3D9; border-right:1px solid #B1C3D9; line-height:30px; height:30px;} 5 table tr th{ background:#7F007F; color:#fff; font-size:14px;} 6 table tr td{ padding-left:12px; text-align:left;} 7 label.error 8 { 9 padding-left:12px; 10 background: url(/images/error.png) no-repeat; 11 color:Red; 12 } 13 label.success{background: url(/images/succes.png) no-repeat;} 14 .ipt_txt{width:150px; border:1px solid #B1C3D9; background-color:#FBFBFB;} 15 input.error{background-color:#FBE2E2}
现在核心的JS代码来了,register.js文件代码:
View Code
1 //以下为自定义方法,validate方法中没有的 2 //判断两个值是否相等 3 jQuery.validator.addMethod("notEqualTo", function(value, element, param) { 4 return value != $(param).val(); 5 }, $.validator.format("两次输入不能相同!")); 6 7 //只能输入数字 8 jQuery.validator.addMethod("isNum", function(value, element) { 9 var RegExp = /^\d+$/; 10 return RegExp.test(value); 11 }, $.validator.format("只能为数字!")); 12 13 //电话号码验证 14 jQuery.validator.addMethod("isTell", function(value, element) { 15 var RegExp = /^(\d{3}-(\d{8})|(\d{7}))$|^(\d+)$|^(\d{4}-(\d{7})|(\d{8}))$|^(\d{7,8})$/; 16 return RegExp.test(value); 17 }, $.validator.format("电话号码输入不正确!")); 18 19 20 //页面加载时调用 21 $(function() { 22 $('#register_form').validate({ 23 rules: { 24 txtUserName: { 25 required: true, 26 maxlength: 18, 27 minlength: 4, 28 remote: { 29 type: "post", 30 url: "validator.asmx/CheckUserAvailable", 31 data: { 32 username: function() { 33 return $("#txtUserName").val() 34 } 35 }, 36 dataType: "xml", 37 dataFilter: function(dataXML) { 38 var result = $(dataXML).find("boolean").text(); 39 if (result == "false") 40 return false; 41 else 42 return true; 43 } 44 } 45 }, 46 txtUserPwd: { 47 required: true, 48 maxlength: 18, 49 minlength: 6, 50 notEqualTo:"#txtUserPwd" 51 }, 52 txtRUserPwd: { 53 required: true, 54 equalTo: "#txtUserPwd" 55 }, 56 txtAddress: { 57 required: true, 58 maxlength: 50 59 }, 60 txtUrl: { 61 required: true, 62 url: true 63 }, 64 txtPhone: { 65 required: true, 66 minlength: 7, 67 maxlength: 13, 68 isTell: true 69 }, 70 txtZipCode: { 71 required: true, 72 minlength: 6, 73 maxlength: 6, 74 isNum: true 75 }, 76 txtEmail: { 77 required: true, 78 email: true, 79 maxlength: 40 80 } 81 }, 82 messages: { 83 txtUserName: { 84 required: "用户名不能为空!", 85 maxlength: "最长为18个字符!", 86 minlength: "最短为4个字符!", 87 remote: "该用户名已被占用!" 88 }, 89 txtUserPwd: { 90 required: "密码不能为空!", 91 maxlength: "最长为18个字符!", 92 minlength: "最短为6个字符!", 93 notEqualTo: "用户名和密码不能相同!" 94 }, 95 txtRUserPwd: { 96 required: "密码不能为空!", 97 equalTo: "两次输入密码不相同!" 98 }, 99 txtAddress: { 100 required: "地址不能为空!", 101 maxlength: "最长50个字符!" 102 }, 103 txtUrl: { 104 required: "网址不能为空!", 105 url: "请填写正确的网址!" 106 }, 107 txtPhone: { 108 required: "电话不能为空!", 109 minlength: "最少7个数字!", 110 maxlength: "最长13个数字!", 111 isTell: "电话格式不正确!" 112 }, 113 txtZipCode: { 114 required: "邮编不能为空!", 115 minlength: "邮编为6个数字!", 116 maxlength: "邮编为6个数字!", 117 isNum: "请输入数字!" 118 }, 119 txtEmail: { 120 required: "邮箱不能为空!", 121 email: "邮箱格式不正确!", 122 maxlength: "最长40个字符!" 123 } 124 }, 125 errorPlacement: function(error, element) { 126 error.appendTo(element.parent()); 127 }, 128 submitHandler: function(form) { 129 form.submit(); 130 }, 131 errorClass: "error", 132 // focusCleanup: true, //被验证的元素获得焦点时移除错误信息 133 success: function(label) { 134 label.html("<span style=\"color:green\">填写正确!</span>").addClass("success"); 135 } 136 }); 137 138 139 //所有使用“.ipt_txt”样式的文本框加上效果,获得焦点文本框变成淡黄色 140 $(".ipt_txt").focus(function() { 141 $(this).css("background-color", "#FFFFCC").blur(function() { 142 $(this).css("background-color", "#FBFBFB"); 143 }); 144 }); 145 });
另外还有一个web服务文件validator.asmx,主要用于用户名重复检查,代码如下:
View Code
1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Web; 5 using System.Web.Services; 6 7 namespace regValidator 8 { 9 /// <summary> 10 /// validator 的摘要说明 11 /// </summary> 12 [WebService(Namespace = "http://tempuri.org/")] 13 [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] 14 [System.ComponentModel.ToolboxItem(false)] 15 // 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消对下行的注释。 16 // [System.Web.Script.Services.ScriptService] 17 public class validator : System.Web.Services.WebService 18 { 19 20 [WebMethod] 21 public bool CheckUserAvailable(string username) 22 { 23 if (username == "zwswood") 24 { 25 return false; 26 } 27 else 28 { 29 return true; 30 } 31 } 32 } 33 }
所有代码都贴完了,这里发帖的目录只是想记录下来,方便以后查阅。
相关推荐
在项目中使用jQuery Validate,首先需要确保已引入jQuery库,然后引入validate插件的JS文件。例如: ```html <script src="https://code.jquery.com/jquery-1.x.min.js"></script> <script src="jquery.validate....
要使用jquery.validate插件实现表单验证,首先需要引入jQuery库以及jquery.validate插件的相关文件。在引入文件时,应注意文件的加载顺序,如示例中所示,首先加载jQuery库,然后是jquery.validate插件文件,最后...
jQuery.validate.js是一款强大的JavaScript插件,专为jQuery框架设计,用于实现前端表单验证,提供了丰富的验证规则和自定义选项,使得开发者能够轻松地构建具有高效验证功能的网页。 一、jQuery.validate.js的核心...
总的来说,`jQuery Validate`的这个实例提供了一个实用的方法来增强表单验证体验,特别是对于密码安全性的强调。它不仅确保了用户输入的有效性,还鼓励他们创建更强大的密码,从而提高了整体的网络安全。通过理解并...
`jQuery Validate` 是一个流行的 JavaScript 库,用于在前端实现高效、灵活的表单验证。这个库是 jQuery 生态系统的一部分,它简化了对 HTML 表单数据的验证过程,提高了用户体验,确保用户输入的数据在提交到服务器...
本文将深入探讨如何使用jQuery Validate插件进行表单验证,包括必要的资源文件、基本配置、验证规则及自定义消息等。 #### 二、资源文件与准备工作 为了使jQuery Validate插件正常工作,需要准备以下文件: 1. **...
总的来说,`jQuery.validate.js` 提供了一个强大且灵活的框架,可以帮助开发者创建高效且用户体验良好的表单验证机制,从而确保收集到的数据准确无误。结合其丰富的自定义选项和预定义规则,可以适应各种复杂的验证...
本教程将深入探讨一个基于jQuery的表单验证解决方案,它在性能、易用性、功能和人性化方面超越了官方的`jquery.validate`插件。 首先,我们要了解`jquery.validate`插件。它是jQuery生态系统中最广泛使用的表单验证...
jQuery Validate 是一个强大的JavaScript库,它是基于jQuery设计的,专门用于网页表单验证。这个库提供了丰富的功能,能够轻松地实现各种验证规则,包括基本的非空检查、长度限制、邮箱格式验证,甚至复杂的自定义...
在提供的压缩包中,`validate.js`是jQuery Validate插件的核心文件,而`poshytip`文件夹包含了Poshytip的所有资源,包括CSS样式和JavaScript文件。解压后,将这些文件放在项目目录的相应位置,并按上述步骤进行集成...
jQuery库中的validate插件为开发者提供了一种简单、高效的表单验证解决方案。本文将深入探讨jQuery.validate的实际应用,结合“jQuery.validate使用手册”进行详尽的解析。 首先,我们需要了解jQuery.validate的...
总之,`jQuery Validate` 是一个强大且灵活的表单验证工具,它使得在网页上实现复杂和用户友好的验证变得简单。通过深入理解其核心概念和用法,你可以为你的应用程序提供更加健壮的表单验证体验。
使用jQuery Validate,我们可以创建具有互动性和用户体验友好的表单验证,避免了无效数据的提交,提高了用户体验。 jQuery Form插件则扩展了jQuery的核心功能,实现了无刷新的Ajax表单提交。它支持所有类型的HTTP...
jQuery Validate插件是用于在客户端进行表单验证的强大工具,它提供了丰富的验证规则和自定义方法,使得用户在提交表单前可以即时检测输入数据的有效性,大大提升了用户体验。该插件是jQuery库的一个扩展,通过简单...
jQuery验证控件`jquery.validate.js`是一款非常流行的前端表单验证插件,它极大地简化了在Web应用中实现表单验证的过程。这个插件由Jörn Zaefferer开发,是jQuery库的一个强大扩展,使得开发者能够快速、便捷地为...
alert('表单验证失败'); } }); ``` 6. **拓展应用** 除了基本的表单操作,Jquery.dForm还支持与其他jQuery插件集成,如表单序列化插件(serializeArray)、日期选择器(datetimepicker)等,以增强表单的功能...
`jQuery Validate`是jQuery库的一个强大插件,用于前端表单验证。它简化了网页表单的验证过程,提供了一套完整的验证规则和灵活的扩展机制。以下是对这个验证框架的详细说明: ### 1. 插件简介 `jQuery Validate`...
jQuery Validate插件以其易用性、灵活性和强大的功能,成为前端表单验证的首选工具。结合Ajax技术,我们可以实现无刷新的实时验证,提供更好的用户体验。通过深入理解和实践,开发者可以充分利用这个插件,提升Web...