jquery.validate.js表单验证插件的用法和入门范例

网上介绍的jquery.validate大部门只是介绍它的api和用法,没有一个完整的入门范例,有时候看半天才知道该怎么下手。因此为了快速了解学习,我弄了一个快速入门范例,虽然用的知识点不多,写的也不是很好,但是可以快速的入手。

以下是参考源码(下面有源码网上可以下载到在此不再提供):

<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>j2query.validate快速入门范例</title>
    <meta name="keywords" content="" />
    <meta name="description" content="jquery.validate.js是一个强大的表单验证插件,这里将来个快速入门范例,展示它的快速易用性。" />
    <script src="jquery-1.8.0.min.js" type="text/javascript"></script>
    <script src="jquery.validate.min.js" type="text/javascript"></script>
    <style type="text/css">
        label.error{color:red;font-size:13px;}
    </style>
</head>
<body>
    <p>信息录入</p>
    <form action="" name="infos" id="infos">
        <p>用户名:<input type="text" name="username" /></p>
        <p>工作号:<input type="text" name="nums" /></p>
        <p>备 注:<input type="text" name="notes" /></p>
        <p><input type="submit" name="sub" /></p>
    </form>
    <script type="text/javascript">
    $(function(){
      $('#infos').validate({
          debug:false, //false表示验证通过后不要自动提交表单
          onkeyup:false, //表示关闭按键松开时候监听验证
          rules:{ //验证规则
            username:{
              required:true,   //必填字段
              rangelength:[6,10] //长度在6-10之间
            },
            nums:{
              required:true,
              digits:true
            },
            notes:"required"
          },
          messages:{ //自定义错误信息,默认为英文,除了在这里配置以为,还可以通过配置文件进行配置
            username:{
              required:"用户名必填",
              rangelength:"用户名长度必须为6-10位"
            },
            nums:{
              required:"工作号必填",
              digits:"工作号必须为数字"
            },
            notes:"备注必填"
          },
          //验证通过可以在这里做你想做的事情
          submitHandler:function(form){
            alert("验证通过");
          }
        });
    });
    </script>
</body>
</html>

运行的效果:

为了让各位在项目上更清楚我们以.net为例子为各位演示一下

新建了项目,项目下面保护JS目录,主要存放Jquery插件jquery-1.4.2.min.js+jquery.validate.min.js以及外链JS,register.js

images目录,主要存放验证时候错误信息的小图标

css目录,主要存放样式文件

首先在默认页面default.aspx

标记中引入JS以及CSS
1 <</span>link type="text/css" href="css/css.css" rel="stylesheet" />
2 <</span>script type="text/javascript" src="js/jquery-1.4.2.min.js"></</span>script>
3 <</span>script type="text/javascript" src="js/jquery.validate.min.js"></</span>script>
4 <</span>script type="text/javascript" src="js/register.js"></</span>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
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://www.111cn.net/")]
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 }

时间: 2024-10-31 00:45:08

jquery.validate.js表单验证插件的用法和入门范例的相关文章

表单验证代码实例:jquery.validate.js表单验证插件

文章简介:很好用的JQuery表单验证插件--jquery.validate.js. jquery.validate.js是JQuery旗下的一个验证插件,借助JQuery的优势,我们可以迅速验证一些常见的输入,并且可以自己扩充自己的验证方法.使用前请先下载必要的JQuery插件:jquery-1.4.2.min.js和jquery.validate.min.js. 下面演示如何使用jquery.validate.js插件进行表单的验证. 这是HTML表单:<form id="regFro

快速学习jQuery插件 jquery.validate.js表单验证插件使用方法_jquery

最常使用JavaScript的场合就是表单的验证,而jQuery作为一个优秀的JavaScript库,也提供了一个优秀的表单验证插件----Validation.Validation是历史最悠久的jQuery插件之一,经过了全球范围内不同项目的验证,并得到了许多Web开发者的好评.作为一个标准的验证方法库,Validation拥有如下特点: 1.内置验证规则: 拥有必填.数字.Email.URL和信用卡号码等19类内置验证规则 2.自定义验证规则: 可以很方便地自定义验证规则 3.简单强大的验证

jquery validate.js表单验证的基本用法入门_jquery

这里转载一篇前辈写的文章,在我自己的理解上修改了一下,仅作记录. 先贴一个国内某大公司的代码: 复制代码 代码如下: <script type="text/javascript"> function lang(key) { mylang = { 'ls_input_myb': '请输入您的账户', 'ls_myb_email': '漫游币账户为邮箱地址', 'ls_login_password': '请输入您的登录密码', 'ls_password_length': '密码

基于Jquery的FormValidator表单验证插件

包含了以下验证功能: 1.控件值不能为空 2.控件值长度限制 3.选中项数量限制 4.控件值范围限制 5.控件值类型限制 6.控件值格式化 7.两个控件值比较 8.自定义验证方法 9.下拉必选 10.表单验证方式 11.控件独自验证 看一个简单的表单用户名验证插件  代码如下 复制代码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/D

jquery中formValidator表单验证插件学习笔记

jQuery formValidator表单验证插件是一款客户端表单验证插件.第一次接触jQuery formValidator是学习phpcms的时候,因为其在表单验证方面功能强大,且使用简单,所以我在做网站开发时常常用到.在WBlog中涉及到写入数据时总是少不了jQuery formValidator的验证.这里主要介绍jQuery formValidator使用方法. 下面我就用WBlog安装包install.php的例子来说明jQuery formValidator的使用方法. 一.加载

自己编写的支持Ajax验证的JS表单验证插件

 创建一个JavaScript表单验证插件,可以说是一个繁琐的过程,涉及到初期设计.开发与测试等等环节.实际上一个优秀的程序员不仅是技术高手,也应该是善假于外物的.本文介绍的这个不错的JavaScript表单验证插件,支持ajax验证,有需要的小伙伴可以参考下     自己编写了一个表单验证插件,支持ajax验证,使用起来很简单. 每个需要验证的表单元素下面有一个span标签,这个标签的class有一个valid表示需要验证,如果有nullable则表示可为空:rule表示验证规则,msg表示错

自己编写的支持Ajax验证的JS表单验证插件_javascript技巧

    自己编写了一个表单验证插件,支持ajax验证,使用起来很简单.     每个需要验证的表单元素下面有一个span标签,这个标签的class有一个valid表示需要验证,如果有nullable则表示可为空:rule表示验证规则,msg表示错误提示信息:to表示要验证的元素的name值,如果元素是单个的,to可以不写.该插件会遍历每个有valid的span标签,找出它前面需要验证的元素,根据rule验证,如果验证不通过,则显示边框为红色,鼠标放在元素上时显示错误信息.     验证时机:1.

jquery插件之validate.js表单验证(1/3)

当前版本:1.5.5 需要JQuery版本:1.2.6+, 兼容 1.3.2 <script src="../js/jquery.js" type="text/javascript"></script> <script src="../js/jquery.validate.js" type="text/javascript"></script> 二.默认校验规则 (1)requi

jquery表单验证插件(jquery.validate.js)的3种使用方式_jquery

jquery  验证非常简单,下面总结常用的三种方式: 第一种方式:也是比较标准的方式: 首先引入jquery  插件和 jquery 验证插件: 第一步:引入插件 复制代码 代码如下: <script type="text/javascript" src="js/jquery-1.6.1.min.js"></script> <script type="text/javascript" src="js/jq