http://www.cnblogs.com/shuang121/archive/2012/04/23/2466628.html

作用

jquery.validate是jquery旗下的一个验证框架,借助jquery的优势,我们可以迅速验证一些常见的输入,并且可以自己扩充自己的验证方法,并且对国际化也有很好的支持。

使用前的布置

说明:需要JQuery版本:1.2.6+

步骤:

要导入相应的jQuery.js与jquery.validate.js文件
<script src="jquery.js" type="text/javascript"></script>
<script src="jquery.validate.js" type="text/javascript"></script>

在相应的字段上指定验证规则
名称 *<input type="text" name="loginName" class="required">
其中class="required"代表本字段必须要输入数据

指定要对表单进行验证
<script type="text/javascript">

$(function(){

$("#testForm").validate();

});

</script>

效果如下图:

基础知识

指定验证规则的方式

把验证规则写到字段元素的class属性中

例:

名称 * <input type="text" name="loginName" class="required"><br>

密  *  <input type="password" name="password" class="required"><br>

再次输入 <input type="password" name="password2"

class="{equalTo: '[name=password]'} required"><br>

生日   <input type="text" name="birthday" class="dateISO"><br>

E-mail *<input type="text" name="email" class="email"><br>

PAR(zip)<input type="file" name="resource" class="{accept: 'zip'}">

说明:

如果使用class="{key:value,…}"的方式,必须引入:jquery.metadata.js

表单字段的name不能重复,否则所配置的验证不起作用。

调用validate()方法时传递字段的验证规则

$(function() {

$("#testForm").validate({

rules: {

loginName:{

required: true,

minlength: 2

}   ,

password: {

required: true

},

password2: {

equalTo: "input[name=password]"

}

}

});

});

内置的验证规则

required:true

必填字段

remote:"check.php"

使用ajax方法调用check.php验证输入值

email:true

必须输入正确格式的电子邮件

url:true

必须输入正确格式的网址

date:true

必须输入正确格式的日期

dateISO:true

必须输入正确格式的日期(ISO),例如:2010-01-01,2010/01/01 只验证格式,不验证有效性

number:true

必须输入合法的数字(负数,小数)

digits:true

必须输入整数

creditcard:

必须输入合法的信用卡号

equalTo:"#field"

输入值必须和$(“#field”)相同

accept: "gif|png|jpg"

输入拥有合法后缀名的字符串(上传文件的后缀),多个后缀之间用’|’隔开

maxlength:5

输入长度最多是5的字符串(汉字算一个字符)

minlength:3

输入长度最小是3的字符串(汉字算一个字符)

rangelength:[5,10]

输入长度必须介于 5 和 10 之间的字符串")(汉字算一个字符)

range:[5,10]

输入值必须介于 5 和 10 之间

max:5

输入值不能大于5

min:10

输入值不能小于10

说明:

remote是远程验证:比如注册验证用户名是否已被注册,返回值只能是true(验证成功)或false(验证失败)。在访问指定的url时,会自动把当前字段的值做为参数(以字段name为key)传递过去。

某些属性值中的引号不能省略,否则出错。如accept、equalTo等。

remote使用时遇到的问题:添加用户时需要验证用户名是否存在,当添加上一个用户后,在不离开该页面的情况下,再次添加该用户名的用户,validate不能提示该用户已存在,因为缓存的原因,jquery仍认为该用户名可用。解决方法是在页面中添加:$().ready(function(){

$.ajaxSetup ({

cache: false //关闭AJAX相应的缓存

}); // 关闭缓存功能

});

添加

修改错误信息提示位置:

修改Jquery validate 的错误提示位置,把错误提示在input内,当获得鼠标焦点的时候清楚提示信息。 
    具体使用方法: 
var validator = $("#myContainerForm").validate({ 
focusCleanup:true,//clear the error message when the error element get focus again. 
onkeyup:false, 
errorPlacement: function(error, element) {  
showErrorMesssgeDiv(error,element); 
   },   
rules:{ 
       name:{ 
              required: true 
       } 
}, 
messages: { 
       name:{ 
              required:populateErrorMessage($("#errorRequiredMessage").val(),               $("#containerNameTitle").val()) 
       }      

});

自定义验证规则

除了内置的验证规则,validation还允许自定义验证规则。这是通过validation的addMethod()方法实现的,语法 为:

jQuery.validator.addMethod("name",function,message)

其中:

name为验证规则的名称

function定义验证的规则。参数有?。返回值为?。

message是验证失败时的提示信息。

指定错误提示内容

更改默认的提示内容

jQuery.extend(jQuery.validator.messages, {

required: "必填字段",

remote: "请指定一个不重复的值",

email: "请输入正确格式的电子邮件",

url: "请输入合法的网址",

date: "请输入合法的日期",

dateISO: "请输入合法的日期 (ISO).",

number: "请输入合法的数字",

digits: "只能输入整数",

creditcard: "请输入合法的信用卡号",

equalTo: "请再次输入相同的值",

accept: "请输入拥有合法后缀名的字符串",

maxlength: jQuery.validator.format("允许的最大长度为 {0} 个字符"),

minlength: jQuery.validator.format("允许的最小长度为 {0} 个字符"),

rangelength: jQuery.validator.format("允许的长度为{0}和{1}之间"),

range: jQuery.validator.format("请输入介于 {0} 和 {1} 之间的值"),

max: jQuery.validator.format("请输入一个最大为 {0} 的值"),

min: jQuery.validator.format("请输入一个最小为 {0} 的值")

});

个别表单改变提示内容(只对当前表单有效)

方法一:

<input type="file" name="parResource"

class="{required: true, accept: 'zip', messages: {required: '请选择文件', accept:'请选择正确的文件'}}">

方法二:

$(function() {

$("#testForm").validate({

messages:{

loginName: {

required: "必选字段2"

},

email: {

required: '必选字段22',

email: "请输入正确格式的电子邮件2"

}

}

});

});

改变错误消息显示样式

指定label.error的样式就可以了,如下:

<style type="text/css">

label.error{

margin-left: 10px;

color: red;

}

</style>

说明:label.error指class为error的label元素,如:<label for="resource" class="error">

Validation-jQuery表单验证插件使用方法的更多相关文章

  1. 【jQuery基础学习】06 jQuery表单验证插件-Validation

    jQuery的基础部分前面都讲完了,那么就看插件了. 关于jQuery表单验证插件-Validation validation特点: 内置验证规则:拥有必填.数字.E-Mail.URL和信用卡号码等1 ...

  2. jQuery 表单验证插件 jQuery Validation Engine 使用

    jQuery 表单验证插件 jQuery Validation Engine 使用方式如下: 1.引入头文件(注意一定要把jQuery放在前面),指定使用 jQuery Validation Engi ...

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

    jquery validate的官方演示和文档地址: 官方网站:http://jqueryvalidation.org/ 官方演示:http://jqueryvalidation.org/files/ ...

  4. 【jquery】Validform,一款不错的 jquery 表单验证插件

    关于 Validform 这是一款很不错的 jquery 表单验证插件,它几乎能够满足任何验证需求,仅仅一行代码就能搞定整站的表单验证. $('form').Validform(); 为什么能如此方便 ...

  5. Jquery表单验证插件validate

    写在前面: 在做一些添加功能的时候,表单的提交前的验证是必不可少的,jquery的validate插件就还可以,对于基本的需求已经够了.这里记录下基本的用法. 还是写个简单的demo吧 <htm ...

  6. 轻量级实用JQuery表单验证插件:validateForm5

    表单验证是Web项目一个必不可少的环节,而且是一项重复的劳动,于是小菜封装了一款简单的表单验证插件,名字叫:validateForm5. validateForm5插件基于Jquery,并向HTML5 ...

  7. (转)强大的JQuery表单验证插件 FormValidator使用介绍

    jQuery formValidator表单验证插件是客户端表单验证插件.在做B/S开发的时候,我们经常涉及到很多表单验证,例如新用户注册,填写个人资料,录入一些常规数据等等.在这之前,页面开发者(J ...

  8. 强大的JQuery表单验证插件 FormValidator使用介绍

    jQuery formValidator表单验证插件是客户端表单验证插件. 在做B/S开发的时候,我们经常涉及到很多表单验证,例如新用户注册,填写个人资料,录入一些常规数据等等.在这之前,页面开发者( ...

  9. jQuery 表单验证插件——Validation(基础)

    这个插件不错,是用jquery写的.能进行表单验证.我喜欢它的原因是因为 1.他有自带的验证规则 2.你可以自己写验证规则 3.可以通过ajax与后台交互,与后台数据比较.最后返回结果!我在表单中要验 ...

  10. jquery 表单验证插件

    其他: <form action=""> First name: <input type="text" name="FirstNam ...

随机推荐

  1. 网络基础之IPv4、网线、

    =========================================Internet是一个圈子,进去这个圈子就要有相应的身份,就像我们去篮球场打球,首先得是个"人"才 ...

  2. Yii应用的目录结构和入口脚本

    以下是一个通过高级模版安装后典型的Yii应用的目录结构: . ├── backend ├── common ├── console ├── environments ├── frontend ├── ...

  3. 迭代器学习之一:使用IEnumerable和IEnumerator接口

    写博客是检验我学习的成果之一以及自我总结的一种方式,以后会经常利用这种方式进行技术交流和自我总结,其中认识不深难免会有错误,但是一直懂得不懂就问,不懂就学的道理! 1.首先看一个简单的列子 , , , ...

  4. SDL 截图、录像、录像播放

    截图 使用sdl很简单,视频显示窗口大小,不是视频分辨率大小 int i = Sdl.SDL_SaveBMP(surfacePtr, path); if(i != 0) { MessageBox.Sh ...

  5. 简单的c# TCP通讯(TcpListener)

      简单的c# TCP通讯(TcpListener) C# 的TCP Socket (同步方式) C# 的TCP Socket (异步方式) C# 的tcp Socket设置自定义超时时间 C# TC ...

  6. 加载plist文件数据的方法

    这个pilist文件最外面的是一个数组,数组中每一个item是一个字典,我们的目的就是为了取到每一个item字典中的内容数据 下面看代码举例 //加载数组 - (void)handleData { / ...

  7. postgresql是如何处理死连接(转)

    在数据库postgresql中,一个客户端到服务器连接实际上是一个tcp socket连接,tcp连接是虚连接,一方非正常退出(如断电),另一方会继续维持这个连接.   举个例子,一个客户端电脑正常连 ...

  8. 子类可以有跟父类中同名的方法,但是会重写父类中的方法,甚至是root class中的方法

    /* 子类可以重写父类中的方法,甚至是root class中的方法,比如NSObeject 的new方法,但是后提示警告如下 Method is expected to return an insta ...

  9. 《征服 C 指针》摘录1:什么是空指针?区分 NULL、0 和 '\0'

    一.什么是空指针? 空指针 是一个特殊的指针值. 空指针 是指可以确保没有向任何一个对象的指针.通常使用宏定义 NULL 来表示空指针常量值. 空指针 确保它和任何非空指针进行比较都不会相等,因此经常 ...

  10. 【Go入门教程1】Go 安装,GOROOT,GOPATH,Go工作空间

    Go安装 Windows 安装 访问Golang Code下载页,32 位请选择名称中包含 windows-386 的 msi 安装包,64 位请选择名称中包含 windows-amd64 的.下载好 ...