- 浏览: 111992 次
- 性别:
- 来自: 江西
文章分类
最新评论
-
antsshadow:
如何在IE6、IE7、IE8中使用HTML5 canvas -
fei_6666:
请问 $('#livemargins_contro' ).bg ...
jquery.bgiframe.js解决下拉列表框被遮盖(iE 6下存在的情况) -
geliyang:
function(value,element)这里的value ...
Jquery Validator 的addMethod用法備忘
jquery.validate是一个基于jquery的非常优秀的验证框架,我们可以通过它迅速验证一些常见的输入,并且可以自己扩充自己的验证方法,而且对国际化也有非常好的支持。
jquery.validate 官方网址:http://bassistance.de/jquery-plugins/jquery-plugin-validation/
使用用法:
1、首先下载jquery.js和jquery.validate.js并引入js文件(注意:jquery必须在jquery.validate.js之前被引入,否则会报错)
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="jquery.validate.js"></script>
2、编写需要验证的表单代码及编写验证代码(编写验证代码有两种方式,首先使用普通方式)
var validator = $("formId").validate({// #formId为需要进行验证的表单ID
errorElement :"div",// 使用"div"标签标记错误, 默认:"label"
wrapper:"li",// 使用"li"标签再把上边的errorELement包起来
errorClass :"validate-error",// 错误提示的css类名"error"
onsubmit:true,// 是否在提交是验证,默认:true
onfocusout:true,// 是否在获取焦点时验证,默认:true
onkeyup :true,// 是否在敲击键盘时验证,默认:true
onclick:false,// 是否在鼠标点击时验证(一般验证checkbox,radiobox)
focusCleanup:false,// 当未通过验证的元素获得焦点时,并移除错误提示
rules: {
loginName: {// 需要进行验证的输入框name
required: true// 验证条件:必填
},
loginPassword: {// 需要进行验证的输入框name
required: true,// 验证条件:必填
minlength: 5// 验证条件:最小长度为5
},
email: {// 需要进行验证的输入框name
required: true,// 验证条件:必填
email: true// 验证条件:格式为email
}
},
messages: {
loginName: {
required: "用户名不允许为空!"// 验证未通过的消息
},
loginPassword: {
required: "密码不允许为空!",
minlength: jQuery.format("密码至少输入 {0} 字符!")
},
email: {
required: "email不允许为空",
email: "邮件地址格式错误!"
}
}
2、使用meta String方式进行验证,即验证内容与写入class中(注意meta String方式需要引入jquery.metadata.js文件)
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="jquery.metadata.js"></script>
<script type="text/javascript" src="jquery.validate.js"></script>
<form id="validate" action="admin/transfer!save.action" method="post">
<input type="text" class="required" name="entity.name" />
<input type="text" class="email" name="entity.email" />
<input type="submit" class="button" value="提 交" />
</form>
<script type="text/javascript">
$(document).ready(
function() {
$("#formId").validate({// #formId为需要进行验证的表单ID
meta :"validate"// 采用meta String方式进行验证(验证内容与写入class中)
errorElement :"div",// 使用"div"标签标记错误, 默认:"label"
wrapper:"li",// 使用"li"标签再把上边的errorELement包起来
errorClass :"validate-error",// 错误提示的css类名"error"
onsubmit:true,// 是否在提交是验证,默认:true
onfocusout:true,// 是否在获取焦点时验证,默认:true
onkeyup :true,// 是否在敲击键盘时验证,默认:true
onclick:false,// 是否在鼠标点击时验证(一般验证checkbox,radiobox)
focusCleanup:false,// 当未通过验证的元素获得焦点时,并移除错误提示
});
})
</script>
注意:在Struts2应用中经常用遇到name="entity.name"形式的input表单(即name中包含逗号或其它特殊符号时),我们可以将上述名称以引号("")括起即可,如:
rules: {
"entity.loginName": {// 需要进行验证的输入框name
required: true// 验证条件:必填
}
},
messages: {
"entity.loginName": {
required: "用户名不允许为空!"// 验证未通过的消息
}
}
可给我email:happyczx@126.com 欢迎一起探讨有关java技术的问题
以上部分代码来源于payj开源支付系统,这个java开源项目里面有很多优秀的Struts2 spring hibernate jquery 等框架的应用源码,值得一看。在这里先推荐一下,呵呵。。。
。
附:
内置验证方式:
required() 返回:Boolean 必填验证元素
required(dependency-expression) 返回:Boolean 必填元素依赖于表达式的结果
required(dependency-callback) 返回:Boolean 必填元素依赖于回调函数的结果
remote(url) 返回:Boolean 请求远程校验。url通常是一个远程调用方法
minlength(length) 返回:Boolean 设置最小长度
maxlength(length) 返回:Boolean 设置最大长度
rangelength(range) 返回:Boolean 设置一个长度范围[min,max]
min(value) 返回:Boolean 设置最大值
max(value) 返回:Boolean 设置最小值
email() 返回:Boolean 验证电子邮箱格式
range(range) 返回:Boolean 设置值的范围
url() 返回:Boolean 验证URL格式
date() 返回:Boolean 验证日期格式(类似30/30/2008的格式,不验证日期准确性只验证格式)
dateISO() 返回:Boolean 验证ISO类型的日期格式
dateDE() 返回:Boolean 验证德式的日期格式(29.04.1994 or 1.1.2006)
number() 返回:Boolean 验证十进制数字(包括小数的)
digits() 返回:Boolean 验证整数
creditcard() 返回:Boolean 验证信用卡号
accept(extension) 返回:Boolean 验证相同后缀名的字符串
equalTo(other) 返回:Boolean 验证两个输入框的内容是否相同
phoneUS() 返回:Boolean 验证美式的电话号码
validate ()的可选项:
debug:进行调试模式(表单不提交): $(".selector").validate
({
debug:true
})
把调试设置为默认: $.validator.setDefaults({
debug:true
})
submitHandler:
通过验证后运行的函数,里面要加上表单提交的函数,否则表单不会提交 $(".selector").validate({
submitHandler:function(form) {
$(form).ajaxSubmit();
}
})
ignore:
对某些元素不进行验证 $("#myform").validate({
ignore:".ignore"
})
rules:
自定义规则,key:value的形式,key是要验证的元素,value可以是字符串或对象 $(".selector").validate({
rules:{
name:"required",
email:{
required:true,
email:true
}
}
})
messages:
自定义的提示信息key:value的形式key是要验证的元素,值是字符串或函数 $(".selector").validate({
rules:{
name:"required",
email:{
required:true,
email:true
}
},
messages:{
name:"Name不能为空",
email:{
required:"E-mail不能为空",
email:"E-mail地址不正确"
}
}
})
groups:
对一组元素的验证,用一个错误提示,用error Placement控制把出错信息放在哪里 $("#myform").validate({
groups:{
username:"fname lname"
},
errorPlacement:function(error,element) {
if (element.attr("name") == "fname" || element.attr("name") == "lname")
error.insertAfter("#lastname");
else
error.insertAfter(element);
},
debug:true
})
Onubmit Boolean 默认:true
是否提交时验证 $(".selector").validate({
onsubmit:false
})
onfocusout Boolean 默认:true
是否在获取焦点时验证 $(".selector").validate({
onfocusout:false
})
onkeyup Boolean 默认:true
是否在敲击键盘时验证 $(".selector").validate({
onkeyup:false
})
onclick Boolean 默认:true
是否在鼠标点击时验证(一般验证checkbox,radiobox) $(".selector").validate({
onclick:false
})
focusInvalid Boolean 默认:true
提交表单后,未通过验证的表单(第一个或提交之前获得焦点的未通过验证的表单)会获得焦点 $(".selector").validate({
focusInvalid:false
})
focusCleanup Boolean 默认:false
当未通过验证的元素获得焦点时,并移除错误提示(避免和 focusInvalid.一起使用) $(".selector").validate({
focusCleanup:true
})
errorClass String 默认:"error"
指定错误提示的css类名,可以自定义错误提示的样式 $(".selector").validate({
errorClass:"invalid"
})
errorElement String 默认:"label"
使用什么标签标记错误 $(".selector").validate
errorElement:"em"
})
wrapper String
使用什么标签再把上边的errorELement包起来 $(".selector").validate({
wrapper:"li"
})
errorLabelContainer Selector
把错误信息统一放在一个容器里面 $("#myform").validate({
errorLabelContainer:"#messageBox",
wrapper:"li",
submitHandler:function() { alert("Submitted!") }
})
showErrors:
跟一个函数,可以显示总共有多少个未通过验证的元素 $(".selector").validate({
showErrors:function(errorMap,errorList) {
$("#summary").html("Your form contains " + this.numberOfInvalids() + " errors,see details below.");
this.defaultShowErrors();
}
})
errorPlacement:
跟一个函数,可以自定义错误放到哪里 $("#myform").validate({
rrorPlacement:function(error,element) { error.appendTo(element.parent("td").next("td"));
},
debug:true
})
success:
要验证的元素通过验证后的动作,如果跟一个字符串,会当做一个css类,也可跟一个函数 $("#myform").validate({
success:"valid",
submitHandler:function() { alert("Submitted!") }
})
highlight:
可以给未通过验证的元素加效果,闪烁等
addMethod(name,method,message)方法:
参数name是添加的方法的名字
参数method是一个函数,接收三个参数(value,element,param) value是元素的值,element是元素本身 param是参数,我们可以用addMethod来添加除built-in Validation methods之
外的验证方法 比如有一个字段,只能输一个字母,范围是a-f,写法如下:
$.validator.addMethod("af",function(value,element,params){
if(value.length>1){
return false;
}
if(value>=params[0] && value<=params[1]){
return true;
}else{
return false;
}
},"必须是一个字母,且a-f");
用的时候,比如有个表单字段的id="username",则在rules中写
username:{
af:["a","f"]
}
addMethod的第一个参数,就是添加的验证方法的名子,这时是af
addMethod的第三个参数,就是自定义的错误提示,这里的提示为:"必须是一个字母,且a-f"
addMethod的第二个参数,是一个函数,这个比较重要,决定了用这个验证方法时的写法
如果只有一个参数,直接写,如果af:"a",那么a就是这个唯一的参数,如果多个参数,用在[]里,用逗号分开
对于动态提交表单时submitHandler是比较好用的,用户可以在submit时的onclick事件中进行验证,如:
$("input[type='submit']").click(function(){
$("form1").validate({
submitHandler: function(form) {
//这里就可以处理ajax事件
$.ajax(function(){
//处理
});
}
});
发表评论
-
在js文件中显示jquery的智能提示VS2010
2012-05-25 15:30 0///<reference path="jqu ... -
关于浏览器内核的一些概念
2011-12-14 11:37 877什么是浏览器内核 要想搞清楚浏览器内核是什么, ... -
将手机网站做成手机应用的JS框架
2011-11-30 14:26 971将手机网站做成手机应用的JS框架 发表于 2010年09月1日 ... -
jquery实现无缝图片滚动
2011-10-24 13:58 954<!DOCTYPE HTML> <html& ... -
JS变量的作用域
2011-10-18 14:53 798JavaScript中变量的作用域非常奇特,如果不仔细研究,一 ... -
图片延迟加载之随滚动条显示
2011-10-18 14:38 1453经常上tudou网,发现tudou首页加载图片的功能很有意思, ... -
jquery实现tab选项卡
2011-09-08 10:36 1128<section class="recomme ... -
常用JS代码大全
2011-09-07 18:42 2193事件源对象 event.srcElement ... -
jquery实现自定义select表单
2011-09-06 19:09 922<!DOCTYPE html PUBLIC " ... -
jquery实现图片幻灯片切换代码
2011-09-01 19:20 665<!DOCTYPE html PUBLIC " ... -
js控制图片自动等比例缩放
2011-08-29 16:17 883function imgfix(){ var maxw ... -
json返回数组的处理。
2011-08-16 12:28 1319后台返回json的格式为“{'name':'woe','age ... -
50个jQuery代码段帮你成为更好的JavaScript开发者
2011-08-16 12:26 11331. 如何创建嵌套的过滤器: -
javascript基础知识大集锦(2)
2011-08-15 12:44 664本期主题:正则表达式 call(),apply(),calle ... -
javascript基础知识大集锦(1)
2011-08-15 12:42 801主要知识点:js数组,数字函数,字符串函数,表单验证,hash ... -
用 Javascript 实现检测、添加、移除样式(className)
2011-08-12 16:36 933前台脚本中,我们经常要操作页面元素的样式,比如标签页切换时 ... -
iframe自适应高度
2011-08-08 17:45 700父页: <script type="text ... -
jQuery插件通用的框架
2011-06-07 12:05 885/* * tableUI 0.1 * ... -
jQuery图片切换,轮播效果
2011-05-26 18:06 2579<!DOCTYPE html PUBLIC " ... -
jQuery图片切换,轮播效果
2011-05-26 13:34 2063用jQuery实现迅雷首页(http://xunlei.com ...
相关推荐
本文将深入探讨jQuery.validate的使用方法以及源码解析,帮助开发者更好地理解和运用这一工具。 首先,我们来了解一下jQuery.validate的基本用法。引入jQuery和jQuery.validate库后,我们可以通过调用`$("#formID")...
1. jquery.validate.js的引入:文件提到了引入jquery.validate.js的方法,需要先引入jquery.js,然后引入jquery.validate.js。这是因为jquery.validate.js依赖于jquery.js。 2. 验证规则:文件列出了jquery....
接着,为需要验证的表单添加`id`属性,并使用jQuery的`.validate()`方法进行初始化: ```javascript $(document).ready(function() { $('#myForm').validate({ rules: { // 验证规则定义 }, messages: { // ...
5. **使用方法**: 要使用jQuery.validate,你需要为表单添加一个id,并在脚本中进行初始化,如: ```javascript $("#yourFormId").validate({ rules: { fieldName: { required: true, email: true }, //...
本文将深入探讨jQuery validate.js的核心功能及其API,同时结合提供的帮助文档,为你揭示其背后的实现原理和使用技巧。 首先,jQuery validate.js的主要功能是为HTML表单提供强大的验证规则。通过简单的配置,...
本文将深入探讨jQuery.validate.js的核心功能、API使用方法以及一些常见的使用场景。 首先,jQuery.validate.js是由Jörn Zaefferer创建的一个轻量级插件,它是jQuery Form Plugin的一部分,主要用于简化HTML表单的...
除了基本的验证规则,jQuery Validate还支持自定义验证方法。例如,你可以创建一个检查密码强度的方法: ```javascript jQuery.validator.addMethod("passwordStrength", function(value, element) { // 这里实现...
- **表单验证**:jQuery Validate 提供了`.validate()`方法,用于初始化验证插件,如`$("#myForm").validate()`;通过设置规则`rules`和错误消息`messages`,可以实现自定义验证。 - **验证规则**:例如,`rules: {...
`jquery.validate.js`可以和`jquery.metadata.js`配合使用,自动应用元数据中的验证规则和配置。 使用`jquery.validate.js`的基本步骤如下: 1. 引入jQuery库、`jquery.metadata.js`和`jquery.validate.js`的脚本...
本文将深入探讨jQuery Validate的使用方法,以及如何结合实际项目进行应用。 一、jQuery Validate插件简介 jQuery Validate是一款由Jörn Zaefferer开发的jQuery插件,主要用于表单验证。它提供了丰富的验证规则和...
jQuery是一个广泛使用的JavaScript库,而jQuery.validate则是jQuery的一个强大插件,专门用于实现客户端的表单验证。本篇文章将详细介绍jQuery.validate框架及其核心功能。 一、jQuery.validate简介 jQuery....
jquery.validate Validation .js验证框架 帮助 手册 文档.chm 版本 方面查询 (一)、可选项( options ) 1 (二)插件方法 (jQuery validation) 6 (三、四)选择器及实用工具 (jQuery validation) 7 四、实用工具...
jQuery Validate 插件为表单提供了强大的验证功能,让客户端表单验证变得更简单,同时提供了大量的定制选项,满足应用程序各种需求。该插件捆绑了一套有用的验证方法,包括 URL 和电子邮件验证,同时提供了一个用来...
引入页面的时候,引入: ... ${request.contextPath}/js/common/plug/jquery/jquery.validate.min.js"> ${request.contextPath}/js/common/plug/jquery/jquery.validate.expand.js"> 把标题正确引入即可使用
2. **初始化验证**:使用`jQuery`选择器找到需要验证的表单元素,并调用`.validate()`方法,配置相应的验证规则。例如,对于密码字段,可能有`required`(必填)、`minlength`(最小长度)和自定义的正则表达式规则...
jQuery 验证控件 jquery.validate.js 使用说明 + 中文 API jQuery 验证控件 jquery.validate.js 是一个功能强大且广泛使用的 JavaScript 验证插件,旨在帮助开发者快速实现表单验证功能。下面是 jquery.validate....
在项目中使用jQuery Validate,首先需要确保已引入jQuery库,然后引入validate插件的JS文件。例如: ```html <script src="https://code.jquery.com/jquery-1.x.min.js"></script> <script src="jquery.validate....
### jQuery.validate.js 插件详解及使用方法 #### 一、引言 `jQuery.validate.js` 是基于 jQuery 的一个非常强大的表单验证插件。它不仅提供了多种预定义的验证规则,还支持自定义规则,并且可以轻松地与 HTML 表单...
jQuery Validate 插件为表单提供了强大的验证功能,让客户端表单验证变得更简单,同时提供了大量的定制选项,满足应用程序各种需求。该插件捆绑了一套有用的验证方法,包括 URL 和电子邮件验证,同时提供了一个用来...