【jQuery】(6)---jQuery validate插件
jQuery validate插件
一、导入js库
先导入jQuery库,然后导入Validate插件,如果是中文提示还需要导入messages_zh.js。
注意Validate的导入要在jQuery库之后。代码如下:
<script src="jQuery.1.8.3.js" type="text/javascript"></script>
<script src="jquery.validate.js" type="text/javascript"></script>
<!-- 因为默认是用英文输出错误信息,如果导入下面包就可以默认用中文输出错误信息 -->
<script src="messages_zh.js" type="text/javascript"></script>
二、常见默认校验规则
(1)、required:true 必输字段
(2)、email:true 必须输入正确格式的电子邮件
(3)、url:true 必须输入正确格式的网址
(4)、number:true 必须输入合法的数字(负数,小数)
(5)、digits:true 必须输入整数
(6)、creditcard:true 必须输入合法的信用卡号
(7)、equalTo:"#password" 输入值必须和#password相同
(8)、accept: 输入拥有合法后缀名的字符串(上传文件的后缀)
(9)、maxlength:5 输入长度最多是5的字符串(汉字算一个字符)
(10)、minlength:10 输入长度最小是10的字符串(汉字算一个字符)
(11)、rangelength:[5,10] 输入长度必须介于 5 和 10 之间的字符串")(汉字算一个字符)
(12)、range:[5,10] 输入值必须介于 5 和 10 之间
(13)、max:5 输入值不能大于5
(14)、min:10 输入值不能小于10
三.submit提交校验案例
(1)register.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<script type="text/javascript" src="../js/jquery-1.7.1.js"></script>
<script type="text/javascript" src="../js/jquery.validate.min.js"></script>
<!-- 上面两个导入就可以,下面这个自己写一个校验规则 -->
<script type="text/javascript" src="../js/register.js"></script>
<html>
<head>
<style type="text/css" rel="stylesheet">
.wrap{margin:0 auto;width:500px;}
.palceholder{ border:solid 1px red;}
</style>
</head>
<body>
<div class="wrap">
<h1>注册</h1>
<form action="" id="form_register">
<p>用 户 名: <input type="text" name="name" /></p>
<p>密 码: <input type="text" name="password" /></p>
<p>确认密码: <input type="text" name="password1" /></p>
<p>电子邮件: <input type="text" name="emal" /></p>
<p>年 龄: <input type="text" name="age" /></p>
<p>爱 好:<select name="hobby" id="hobby">
<option value="">请选择</option>
<option value="1">唱歌</option>
<option value="2">跳舞</option>
<option value="3">画画</option>
</select>
</p>
<input type="submit" value="submit提交">
<input type="submit" value="button提交" id="hand" name="hand">
</form>
</div>
</body>
</html>
先看界面效果:很普通的一个界面

(2)register.js
/*首先校验要在$(document).ready()里加入验证规则与错误提示位置*/
$(document).ready(function(){
$("#form_register").validate({
debug:true,//如果这个参数为true,那么表单不会提交,只进行检查,调试时十分方便。 // 错误提示
rules:{
name:{required:true},
password:{required:true},
password1:{required:true,equalTo: "#password"},
emal:{required:true},
//这里要注意select有个小细节,就是默认的"请选择"的value一定要是"",如果你设置了"-1",那它就默认有值,而不去校验
hobby:{required:true},
age:{required:true,digits:true},
},
messages:{
name:{required:"请输入用户名"},
password:{required:"请输入密码"},
password1:{required:"请输入密码",equalTo: "两次密码输入不一致"},
emal:{required:"请输入电子邮箱"},
hobby:{required:"请选择爱好"},
age:{required:"请输入年龄",digits:"必须为整数"},
}, /*
下面这个很关键:
error:错误信息
element:指当前元素
*/
errorPlacement:function(error, element){
//我往当前元素添加class属性,然后对这个css样式设置,这样就可以更加清晰显示错误
element.addClass('palceholder');
//添加placeholder属性,属性值就是error.html()
element.attr({placeholder:error.html()});
}
});
});
(3)当我在界面上点击submit提交的时候看界面
通过样式可以让错误信息更明显

如果我在register.js错误显示方式修改如下:
errorPlacement:function(error, element){
element.addClass('palceholder');
//默认情况是:error.appendTo(element.parent());即把错误信息放在验证的元素后面
error.appendTo(element.parent());
}
});
看界面效果:

四.用button提交
我们知道,很多时候我们需要button进行ajax提交,在网上都是这样写:
$("#btn).click(function(){
if($("#form").valid()){
......
}
//本人亲自测试当button提交时这里的$("#form").valid()是不行,会报错
找了好多博客发现有一个是可以的,下面进行代码演示,其它都和上面一样,就register.js我重新写一个
$(document).ready(function(){
$("#hand").bind("click" ,function(){
//编写表单验证函数validform,在验证按钮注册按钮点击事件内调用验证函数对象
if(validform().form()){
alert(验证通过);
}
});
});
function validform(){
/*关键在此增加了一个return,返回的是一个validate对象,这个对象有一个form方法,返回的是是否通过验证*/
return $("#form_register").validate({
debug:true,
rules:{
name:{required:true},
password:{required:true},
password1:{required:true,equalTo: "#password"},
emal:{required:true},
hobby:{required:true},
age:{required:true,digits:true},
},
messages:{
name:{required:"请输入用户名"},
password:{required:"请输入密码"},
password1:{required:"请输入密码",equalTo: "两次密码输入不一致"},
emal:{required:"请输入电子邮箱"},
hobby:{required:"请选择爱好"},
age:{required:"请输入年龄",digits:"必须为整数"},
},
errorPlacement:function(error, element){
element.addClass('palceholder');
error.appendTo(element.parent());
}
});
}
当点击button提交按钮时,发现界面也可以进行校验

基本上就这么多,以后用到新的,以后再写。
想的太多,做的太少,中间的落差就是烦恼,要么去做,要么别想 少尉【16】
【jQuery】(6)---jQuery validate插件的更多相关文章
- 读<jQuery 权威指南>[5]-插件
一.说明 jQuery插件官网:http://plugins.jquery.com/ 使用插件时引用顺序:插件引用要位于主jquery库之后. 二.插件应用实例 演示插件jquery.validate ...
- 表单验证神器——jquery.validate插件
jquery.validate.js插件应用举例,ajax方式提交数据. html代码: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Tr ...
- JQuery 表单校验插件 validate 使用纪录
JS诞生其中一个目的就是将, 服务器端的校验在客户端提前完成, 以避免用户提交数据后, 后台校验报错的糟糕用户体验. 基于JQuery库的有很多优秀的插件, 其中对于浏览器端表单进行验证的基本功能也有 ...
- jquery.validate插件在booststarp中的运用
现在在网络上已经可以找到很多基于bootstarp的表单认证,但是验证的都不全面的,下载后,我们还要理解作者的思路然后进行修改添加,这种修改方式往往适合学习,时间很多的时候.但是我们很多时候是没有时间 ...
- jQuery Validate 插件
>>>>>>>>>>>>>>>>>>>>>>>>> ...
- jquery validate 插件使用小结
项目中整合了jquery validate插件,仿照别人的使用写了我的表单验证,结果不起作用.然后就各种找原因. 在网上下了jquery validate插件的完整包,看了看里边的例子,跟我的使用貌似 ...
- jquery validate强大的jquery表单验证插件
jquery validate的官方演示和文档地址: 官方网站:http://jqueryvalidation.org/ 官方演示:http://jqueryvalidation.org/files/ ...
- JQuery Validate插件与实现
菜鸟拙见,望请纠正 一:效果展示:以下是两个注册表单验证,左边使用Jquery validate插件实现,右边是自己用JQuery实现,效果差不多,但个人推荐用插件,毕竟前人栽了树而且长大了后人当然好 ...
- Jquery表单验证插件validate
写在前面: 在做一些添加功能的时候,表单的提交前的验证是必不可少的,jquery的validate插件就还可以,对于基本的需求已经够了.这里记录下基本的用法. 还是写个简单的demo吧 <htm ...
随机推荐
- ssm学习(四)--完整的增删改查demo
上一篇文章简要介绍了将sping mvc加入整个框架,算是完成了ssm的集成.本节继续前面的内容,结合spring mvc做一个简单的增删改查demo. 1.首先,重写一下GeckoList.jsp页 ...
- Jquery 改变样式
Jquery简单的操作 Jquery 是一个非常好用JS库,有很多的特殊的操作,为了方便,我们都可以引入Jquery. <script src="dist/js/vendor/jque ...
- this的理解
this的理解 看了阮一峰的this讲解,下面是我的理解: 总结来说 this指向 调用this所在方法 的对象: 普通函数 例子1 function test(){ this.x = 1; cons ...
- 17089 最大m子段和
17089 最大m子段和 时间限制:1000MS 内存限制:65535K提交次数:0 通过次数:0 题型: 编程题 语言: G++;GCC;VC Description "最大m子段和 ...
- Jstree 使用CheckBox插件 选中父节点时被禁用的子节点也会选中问题
问题描述: 最近用jstree遇到一个问题,使用CheckBox插件时,当父节点选中时,被禁用的子节点也会选中如下 解决方案: 1. 将jstree升级到最新的版本,v3.3.4及以上就可以 2. ...
- 快速自检电脑是否被黑客入侵过(Linux版)
之前写了一篇快速自检电脑是否被黑客入侵过(Windows版), 这次就来写写Linux版本的. 前言 严谨地说, Linux只是一个内核, GNU Linux才算完整的操作系统, 但在本文里还是用通俗 ...
- wincc flexable变量组态
1.变量分类 2.变量组态练习 3.变量组态之前新建一个设备连接取名connect 3.tag1组态bool类型,双击变量弹出下面窗口,具体如下图所示connect表示外部变量 4.组态tag2 5. ...
- 520. Detect Capital
Given a word, you need to judge whether the usage of capitals in it is right or not. We define the ...
- MySQL 的调节和优化的提示
MySQL 服务器硬件和操作系统调节: 1. 拥有足够的物理内存来把整个InnoDB文件加载到内存中——在内存中访问文件时的速度要比在硬盘中访问时快的多.2. 不惜一切代价避免使用Swap交换分区 – ...
- PHP重要知识点
1 获取文件名或目录路径 getcwd() :显示是 在哪个文件里调用此文件 的目录 __DIR__ :当前内容写在哪个文件就显示这个文件目录 __FILE__ : 当前内容写在哪个文件就显示这个文件 ...