`

Jquery.validate插件表单验证 (新样式)

阅读更多

<!--done-->

<!--end: header 头部 -->

<!--done-->

验证的效果如图: 

 

学习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 }
复制代码

所有代码都贴完了,这里发帖的目录只是想记录下来,方便以后查阅。

 http://files.cnblogs.com/zwswood/regValidator.rar.

分享到:
评论

相关推荐

    jquery.validate1.7验证插件最新版

    在项目中使用jQuery Validate,首先需要确保已引入jQuery库,然后引入validate插件的JS文件。例如: ```html &lt;script src="https://code.jquery.com/jquery-1.x.min.js"&gt;&lt;/script&gt; &lt;script src="jquery.validate....

    功能强大的jquery.validate表单验证插件

    要使用jquery.validate插件实现表单验证,首先需要引入jQuery库以及jquery.validate插件的相关文件。在引入文件时,应注意文件的加载顺序,如示例中所示,首先加载jQuery库,然后是jquery.validate插件文件,最后...

    jQuery.validate.js

    jQuery.validate.js是一款强大的JavaScript插件,专为jQuery框架设计,用于实现前端表单验证,提供了丰富的验证规则和自定义选项,使得开发者能够轻松地构建具有高效验证功能的网页。 一、jQuery.validate.js的核心...

    jquery.validate表单验证密码完整例子(带密码强度显示)

    总的来说,`jQuery Validate`的这个实例提供了一个实用的方法来增强表单验证体验,特别是对于密码安全性的强调。它不仅确保了用户输入的有效性,还鼓励他们创建更强大的密码,从而提高了整体的网络安全。通过理解并...

    jquery.validate.js jquery表单验证

    `jQuery Validate` 是一个流行的 JavaScript 库,用于在前端实现高效、灵活的表单验证。这个库是 jQuery 生态系统的一部分,它简化了对 HTML 表单数据的验证过程,提高了用户体验,确保用户输入的数据在提交到服务器...

    Jquery.validate表单验证小结

    本文将深入探讨如何使用jQuery Validate插件进行表单验证,包括必要的资源文件、基本配置、验证规则及自定义消息等。 #### 二、资源文件与准备工作 为了使jQuery Validate插件正常工作,需要准备以下文件: 1. **...

    jquery.validate.js表单验证[借鉴].pdf

    总的来说,`jQuery.validate.js` 提供了一个强大且灵活的框架,可以帮助开发者创建高效且用户体验良好的表单验证机制,从而确保收集到的数据准确无误。结合其丰富的自定义选项和预定义规则,可以适应各种复杂的验证...

    基于jquery的表单验证,超越jquery.validate插件

    本教程将深入探讨一个基于jQuery的表单验证解决方案,它在性能、易用性、功能和人性化方面超越了官方的`jquery.validate`插件。 首先,我们要了解`jquery.validate`插件。它是jQuery生态系统中最广泛使用的表单验证...

    jquery.validate.js表单验证.pdf

    jQuery Validate 是一个强大的JavaScript库,它是基于jQuery设计的,专门用于网页表单验证。这个库提供了丰富的功能,能够轻松地实现各种验证规则,包括基本的非空检查、长度限制、邮箱格式验证,甚至复杂的自定义...

    表单验证 jquery.validate.js与poshytip集成

    在提供的压缩包中,`validate.js`是jQuery Validate插件的核心文件,而`poshytip`文件夹包含了Poshytip的所有资源,包括CSS样式和JavaScript文件。解压后,将这些文件放在项目目录的相应位置,并按上述步骤进行集成...

    jQuery.validate实例

    jQuery库中的validate插件为开发者提供了一种简单、高效的表单验证解决方案。本文将深入探讨jQuery.validate的实际应用,结合“jQuery.validate使用手册”进行详尽的解析。 首先,我们需要了解jQuery.validate的...

    jquery.validate.js验证

    总之,`jQuery Validate` 是一个强大且灵活的表单验证工具,它使得在网页上实现复杂和用户友好的验证变得简单。通过深入理解其核心概念和用法,你可以为你的应用程序提供更加健壮的表单验证体验。

    jquery.validate+jquery.form.rar

    使用jQuery Validate,我们可以创建具有互动性和用户体验友好的表单验证,避免了无效数据的提交,提高了用户体验。 jQuery Form插件则扩展了jQuery的核心功能,实现了无刷新的Ajax表单提交。它支持所有类型的HTTP...

    JQuery Validate插件的验证规则和例子,合成AJAX

    jQuery Validate插件是用于在客户端进行表单验证的强大工具,它提供了丰富的验证规则和自定义方法,使得用户在提交表单前可以即时检测输入数据的有效性,大大提升了用户体验。该插件是jQuery库的一个扩展,通过简单...

    jQuery验证控件jquery.validate.js使用说明+中文API

    jQuery验证控件`jquery.validate.js`是一款非常流行的前端表单验证插件,它极大地简化了在Web应用中实现表单验证的过程。这个插件由Jörn Zaefferer开发,是jQuery库的一个强大扩展,使得开发者能够快速、便捷地为...

    Jquery.dForm 插件与验证

    alert('表单验证失败'); } }); ``` 6. **拓展应用** 除了基本的表单操作,Jquery.dForm还支持与其他jQuery插件集成,如表单序列化插件(serializeArray)、日期选择器(datetimepicker)等,以增强表单的功能...

    jquery.validate是jquery旗下的一个验证框架

    `jQuery Validate`是jQuery库的一个强大插件,用于前端表单验证。它简化了网页表单的验证过程,提供了一套完整的验证规则和灵活的扩展机制。以下是对这个验证框架的详细说明: ### 1. 插件简介 `jQuery Validate`...

    jquery.validate.zip

    jQuery Validate插件以其易用性、灵活性和强大的功能,成为前端表单验证的首选工具。结合Ajax技术,我们可以实现无刷新的实时验证,提供更好的用户体验。通过深入理解和实践,开发者可以充分利用这个插件,提升Web...

Global site tag (gtag.js) - Google Analytics