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. elastichq 离线安装

    plugin install file:///home/hadoop/xxxx.zip 奇怪的是,这样安装成功后访问host:port:9200/_plugin/hq/ 仍然会报错,找不到一些js函数 ...

  2. 14个技巧助你适配 iOS10

    1.Notification(通知) 自从 Notification 被引入之后,苹果就不断的更新优化,但这些更新优化只是小打小闹,直至现在iOS 10开始真正的进行大改重构,这让开发者也体会到 Us ...

  3. PHP代码编写规范

    一. 变量命名 a) 所有字母都使用小写 b) 首字母根据变量值类型指定 i. 整数i ii. 浮点数f iii. 字符串s iv. 布尔值b v. 数组a vi. 对象o vii. 资源r viii ...

  4. CentOS6.3编译安装Memcached的PHP客户端memcache

    在安装Memcached的PHP客户端memcache之前,可先看下先前的工作笔记: PHP5不重新编译,如何安装自带的未安装过的扩展,如soap扩展? 安装PHP的memcache扩展 cd /us ...

  5. CSS实现多个Div等高,类似表格布局

    <%@ taglib prefix="tiles" uri="http://tiles.apache.org/tags-tiles"%> <% ...

  6. C和指针 第十三章 习题

    1,1标准输入读入字符,统计各类字符所占百分比 #include <stdio.h> #include <ctype.h> //不可打印字符 int isunprint(int ...

  7. SqlServer数据库大型应用解决方案总结

    随着互联网应用的广泛普及,海量数据的存储和访问成为了系统设计的瓶颈问题.对于一个大型的互联网应用,每天百万级甚至上亿的PV无疑对数据库造成了相当高的负载.对于系统的稳定性和扩展性造成了极大的问题. 一 ...

  8. C# 构建XML(简单示例)

    C# 构建XML的简单示例: var pars = new Dictionary<string, string> { {"url","https://www. ...

  9. C++ 异常机制

    程序在运行的时候可能产生各种可预料到的异常,例如磁盘不足,内存不足,或是数学运算溢出,数组越界之类的.为了解决这些问题,C++提供了异常处理机制,它一般是由try语句和catch语句构成. 一.try ...

  10. ucenter用户登录过程

    以用户登录为例介绍,其它注销,改密码,消息,头像,好友均类同. 从用户xxx在某一应用程序的login.php,输入用户名,密码讲起.先用uc_user_login函数到uc_server验证此用户和 ...