一、 jQuery Validate 插件的介绍
jQuery Validate 插件为表单提供了强大的验证功能,让客户端表单验证变得更简单,同时提供了大量的定制选项,满足应用程序各种需求。该插件捆绑了一套有用的验证方法,包括 URL 和电子邮件验证,同时提供了一个用来编写用户自定义方法的 API。所有的捆绑方法默认使用英语作为错误信息,且已翻译成其他 37 种语言。
该插件是由 Jörn Zaefferer 编写和维护的,他是 jQuery 团队的一名成员,是 jQuery UI 团队的主要开发人员,是 QUnit 的维护人员。
最常使用JavaScript的场合就是表单的验证,而jQuery作为一个优秀的JavaScript库,也提供了一个优秀的表单验证插件----Validation。Validation是历史最悠久的jQuery插件之一,经过了全球范围内不同项目的验证,并得到了许多Web开发者的好评。
官方网站:http://bassistance.de/jquery-plugins/jquery-plugin-validation/
在线文档:http://docs.jquery.com/Plugins/Validation
在线 API:http://jquery.bassistance.de/api-browser/plugins.html
配置说明:http://docs.jquery.com/Plugins/Validation/validate#options
项目介绍:http://plugins.jquery.com/project/validate
Github:https://github.com/jzaefferer/jquery-validation
二、jQuery Validate 拥有的特点介绍
作为一个标准的验证方法库,jQuery Validate 拥有以下的特点:
(1)内置验证规则。拥有必填、数字、Email、URL和信用卡号码等19类内置验证规则。功能强大的 jQuery 表单验证插件,适用于日常的 E-mail、电话号码、网址等验证及 Ajax 验证,除自身拥有丰富的验证规则外,还可以添加自定义的验证规则。
兼容 IE 6+, Chrome, Firefox, Safari, Opera 10+ 。
(2)自定义验证规则。可以很方便地自定义验证规则。
(3) 简单,强大的信息提示。默认了验证信息提示,并提供自定义覆盖默认的提示信息的功能。
(4) 实时验证:通过keyup 或是blur事件来触发校验,而不仅仅是提交的时候进行校验。
三、jQuery Validate 的下载地址
(1)官网下载地址 :http://jqueryvalidation.org/
(2)Github 开源项目: https://github.com/jzaefferer/jquery-validation
四、简单的例子来学习jQuery Validate
这些例子前提都是需要引入jQuery库和Validation插件。
<script type="text/javascript" src="../../lib/jquery-1.11.1.js"></script>
<script type="text/javascript" src="../../dist/jquery.validate.js"></script>
1. 利用插件进行一些简单的校验
<!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>
<title>jQuery PlugIn -一个简单带验证例子</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<script type="text/javascript" src="../../lib/jquery-1.11.1.js"></script>
<script type="text/javascript" src="../../dist/jquery.validate.js"></script>
<script type="text/javascript" src="../../dist/localization/messages_zh.js"></script>
<style type="text/css">
* { font-family: Verdana; font-size:13px; }
input[type='text']{width:200px;}
textarea{width:155px;}
label { width: 10em; float: left; }
label.error { float: none; color: red; padding-left: .5em; vertical-align: top; }
</style>
<script>
$(document).ready(function(){
$("#commentForm").validate();
});
</script>
</head>
<body> <form id="commentForm" method="get" action="" >
<fieldset>
<legend>表单验证</legend>
<p><label>Name</label><input name="name" class="required" maxlength="4" minlength="2" /></p>
<p><label >E-Mail</label><input name="email" class="required email" /></p>
<p><label >URL</label><input name="url" class="url"/></p>
<p><label>text</label><textarea name="text" cols="22" class="required"></textarea></p>
<p><input class="submit" type="submit" value="提交"/></p>
</fieldset>
</form> </body>
</html>
效果如下:
以上的校验的解释:
(1)首先需要引入jquery-1.11.1.js,因为这个插件实在JQuery的基础上进行的。
(2)引入校验插件 jquery.validate.js 。
(3)引入提示本地化脚本。验证信息的国际化,默认验证提示是英文的,导入validation已写好的国际化文件就可实现国际化。改变 错误/正确 消息显示样式。
(4)在input框的class属性中添加要校验的类型。针对不同的字段,进行验证规则编码,设置字段相应的属性
其中的一些可验证的规则类型:
(1)required:true 必输字段
(2)remote:"check.shtml" 使用ajax方法调用check.shtml验证输入值
(3)email:true 必须输入正确格式的电子邮件(只能验证格式,不保证有效性)
(4)url:true 必须输入正确格式的网址
(5)date:true 必须输入正确格式的日期
(6)dateISO:true 必须输入正确格式的日期(ISO),例如:2009-06-23,1998/01/22 只验证格式,不验证有效性
(7)number:true 必须输入合法的数字(负数,小数)
(8)digits:true 必须输入整数
(9)creditcard: 必须输入合法的信用卡号
(10)equalTo:"#field" 输入值必须和#field相同
(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
(5)确定哪个表单需要被验证
<script type="text/javascript">
////<![CDATA[
$(document).ready(function(){
$("#commentForm").validate();
});
//]]>
</script>