jQuery校验validate详解(转)
jQuery校验
官网地址:http://bassistance.de/jquery-plugins/jquery-plugin-validation
一导入js库
<script src="../js/jquery.js"type="text/javascript"></script>
< script src="../js/jquery.validate.js"type="text/javascript"></script>
二、默认校验规则
(1)required:true 必输字段
(2)remote:"check.php" 使用ajax方法调用check.php验证输入值
(3)email:true 必须输入正确格式的电子邮件
(4)url:true 必须输入正确格式的网址
(5)date:true 必须输入正确格式的日期 日期校验ie6出错,慎用
(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
三、默认的提示
messages: {
required:"This field is required.",
remote:"Please fix this field.",
email:"Please enter a valid email address.",
url: "Pleaseenter a valid URL.",
date:"Please enter a valid date.",
dateISO:"Please enter a valid date (ISO).",
dateDE:"Bitte geben Sie ein g眉ltiges Datum ein.",
number:"Please enter a valid number.",
numberDE:"Bitte geben Sie eine Nummer ein.",
digits:"Please enter only digits",
creditcard:"Please enter a valid credit card number.",
equalTo:"Please enter the same value again.",
accept:"Please enter a value with a valid extension.",
maxlength:$.validator.format("Please enter no more than {0}characters."),
minlength:$.validator.format("Please enter at least {0} characters."),
rangelength:$.validator.format("Please enter a value between {0} and {1}characters long."),
range:$.validator.format("Please enter a value between {0} and{1}."),
max:$.validator.format("Please enter a value less than or equal to{0}."),
min:$.validator.format("Please enter a value greater than or equal to{0}.")
},
如需要修改,可在js代码中加入:
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} 的值")
});
推荐做法,将此文件放入messages_cn.js中,在页面中引入
<script src="../js/messages_cn.js"type="text/javascript"></script>
四、使用方式
1.将校验规则写到控件中
<scriptsrc="../js/jquery.js"type="text/javascript"></script>
< script src="../js/jquery.validate.js"type="text/javascript"></script>
< script src="./js/jquery.metadata.js"type="text/javascript"></script>
$().ready(function() {
$("#signupForm").validate();
});
< form id="signupForm" method="get"action="">
<p>
<labelfor="firstname">Firstname</label>
<input id="firstname" name="firstname"class="required" />
</p>
<p>
<labelfor="email">E-Mail</label>
<inputid="email" name="email" class="required email"/>
</p>
<p>
<labelfor="password">Password</label>
<inputid="password" name="password" type="password"class="{required:true,minlength:5}" />
</p>
<p>
<labelfor="confirm_password">确认密码</label>
<inputid="confirm_password" name="confirm_password" type="password"class="{required:true,minlength:5,equalTo:'#password'}"/>
</p>
<p>
<input class="submit" type="submit"value="Submit"/>
</p>
< /form>
使用class="{}"的方式,必须引入包:jquery.metadata.js
可以使用如下的方法,修改提示内容:
class="{required:true,minlength:5,messages:{required:'请输入内容'}}"
在使用equalTo关键字时,后面的内容必须加上引号,如下代码:
class="{required:true,minlength:5,equalTo:'#password'}"
2.将校验规则写到js代码中
$().ready(function() {
$("#signupForm").validate({
rules: {
firstname:"required",
email:{
required:true,
email:true
},
password:{
required:true,
minlength:5
},
confirm_password:{
required:true,
minlength:5,
equalTo:"#password"
}
},
messages: {
firstname:"请输入姓名",
email:{
required:"请输入Email地址",
email:"请输入正确的email地址"
},
password:{
required:"请输入密码",
minlength:jQuery.format("密码不能小于{0}个字 符")
},
confirm_password:{
required:"请输入确认密码",
minlength:"确认密码不能小于5个字符",
equalTo:"两次输入密码不一致不一致"
}
}
});
});
//messages处,如果某个控件没有message,将调用默认的信息
<form id="signupForm" method="get"action="">
<p>
<labelfor="firstname">Firstname</label>
<input id="firstname" name="firstname"/>
</p>
<p>
<labelfor="email">E-Mail</label>
<inputid="email" name="email" />
</p>
<p>
<labelfor="password">Password</label>
<inputid="password" name="password" type="password"/>
</p>
<p>
<labelfor="confirm_password">确认密码</label>
<inputid="confirm_password" name="confirm_password" type="password"/>
</p>
<p>
<input class="submit" type="submit"value="Submit"/>
</p>
< /form>
required:true必须有值
required:"#aa:checked"表达式的值为真,则需要验证
required:function(){}返回为真,表时需要验证
后边两种常用于,表单中需要同时填或不填的元素
jQuery校验validate详解(转)的更多相关文章
- jquery的css详解(二)
jq的工具方法style用于设置样式,jq的实例方法css在设置样式时就是调用的它,接下来分析一下源码. jQuery.extend({ ............................ st ...
- jQuery.attr() 函数详解
一,jQuery.attr() 函数详解: http://www.365mini.com/page/jquery-attr.htm 二,jQuery函数attr()和prop()的区别: http: ...
- jQuery 事件用法详解
jQuery 事件用法详解 目录 简介 实现原理 事件操作 绑定事件 解除事件 触发事件 事件委托 事件操作进阶 阻止默认事件 阻止事件传播 阻止事件向后执行 命名空间 自定义事件 事件队列 jque ...
- jQuery.ready() 函数详解
jQuery.ready() 函数详解 ready()函数用于在当前文档结构载入完毕后立即执行指定的函数. 该函数的作用相当于window.onload事件. 你可以多次调用该函数,从而绑定多个函数, ...
- jquery inArray()函数详解
jquery inarray()函数详解 jquery.inarray(value,array)确定第一个参数在数组中的位置(如果没有找到则返回 -1 ). determine the index o ...
- jQuery extend方法详解
先说个概念的东西: jQuery为开发插件提拱了两个方法,分别是: $.fn.extend(item):为每一个实例添加一个实例方法item.($("#btn1") 会生成一个 j ...
- jQuery的观察者模式详解 转载
jQuery的观察者模式详解 投稿:hebedich 本文主要是介绍了jQuery中on方法及trigger方法,以及围绕这个方法来体验的观察者模式,是篇非常不错的文章,对我们理解观察者模式很有帮助. ...
- 【转载】jQuery.extend 函数详解
转载自:http://www.cnblogs.com/RascallySnake/archive/2010/05/07/1729563.html jQuery.extend 函数详解 JQuery的e ...
- jQuery.hasClass() 函数详解
jQuery.hasClass() 函数详解 hasClass()函数用于指示当前jQuery对象所匹配的元素是否含有指定的css类名. 该函数属于jQuery对象(实例). 语法 JavaScrip ...
随机推荐
- uart启示1_task的写法
task rx_data_task; input [12:0] RXD; reg [3:0] i; begin for (i=0;i<=13;i=i+1) begin repeat (2603) ...
- redis学习
wget http://labfile.oss.aliyuncs.com/files0422/redis-2.8.9.tar.gz .tar.gz cd redis- make make instal ...
- Chapter 2: Design the user experience
Apply the user interface design for a web application 介绍了Css的常用属性和html5的新element,以及Htmlhelper的简单方法,如 ...
- SSH基于Hibernate eventListener 事件侦听器的操作日志自动保存到数据库
在spring xml配置文件中添加配置,包含:model.listener 在model中增加需要写入数据库对应表的model 在auditLog.xml配置文件中配置自己项目中,需要进行日志记录的 ...
- UI崩溃的解决方案
在unity加载的时候主动强制关闭后,竟然ui崩溃,一直报错UnityEngine.UI.dll is in timestamps but is not known in assetdatabase. ...
- C++中一个常用的句型(两个for(;;)语句连用的重要性)
在一些简单的C++编程中,经常会用到两个for(;;)语句连用的情况,这是一个常用句型,因此感觉也非常重要.下面举两个例子说明一下: 例1.用两个for(;;)语句来进行数组元素大小的排序 #incl ...
- 如何在 Delphi 中静态链接 SQLite
搞了我几个小时,终于成功在 Delphi 中静态链接了 SQLite (v3.5.4),下一步就是研究加密了,呵呵中间其实遇到很多问题,今天累了,就不说了,改天补上 下载测试工程 下面说说方法 1.当 ...
- java读取文件内容
获取文件内容 picurl = "http://www.baidu.com/data.txt"; URL urlfile = new URL(picurl); BufferedRe ...
- NVMe over Fabrics又让RDMA技术火了一把
RDMA是个什么鬼?相信大部分不关心高性能网络的童鞋都不太了解.但是NVMe over Fabrics的出现让搞存储的不得不抽出时间来看看这个东西,这篇文章就来介绍下我所了解的RDMA. RDMA(R ...
- Windows下修改Oracle监听端口
先放开防火墙的端口,再来改监听端口. 只有一个实例: net stop OracleOraDb11g_home1TNSListener 再运行 NET Manager 修改实例名与Listener的端 ...