快速学习jQuery插件 jquery.validate.js表单验证插件使用方法


Posted in Javascript onDecember 01, 2015

最常使用JavaScript的场合就是表单的验证,而jQuery作为一个优秀的JavaScript库,也提供了一个优秀的表单验证插件----Validation。Validation是历史最悠久的jQuery插件之一,经过了全球范围内不同项目的验证,并得到了许多Web开发者的好评。作为一个标准的验证方法库,Validation拥有如下特点:

  • 1.内置验证规则: 拥有必填、数字、Email、URL和信用卡号码等19类内置验证规则
  • 2.自定义验证规则: 可以很方便地自定义验证规则
  • 3.简单强大的验证信息提示: 默认了验证信息提示,并提供自定义覆盖默认的提示信息的功能
  • 4.实时验证: 可能通过keyup或blur事件触发验证,而不仅仅在表单提交的时候验证

使用方法:
1.引入jQuery库和Validation插件

<script src="scripts/jquery-1.6.4.js" type="text/javascript"></script> 
<script src="scripts/jquery.validate.js" type="text/javascript"></script>

2.确定哪个表单需要被验证

<script type="text/javascript"> 
////<![CDATA[ 
$(document).ready(function(){ 
  $("#commentForm").validate(); 
}); 
//]]> 
</script>

3.针对不同的字段,进行验证规则编码,设置字段相应的属性

class="required"  必须填写 
class="required email"    必须填写且内容符合Email格式验证 
class="url"       符合URL格式验证 
minlength="2"   最小长度为2

可验证的规则有19种:
required:      必选字段 
remote:        "请修正该字段", 
email:         电子邮件验证 
url:           网址验证 
date:          日期验证 
dateISO:       日期 (ISO)验证 
dateDE: 
number:        数字验证 
numberDE: 
digits:       
只能输入整数 
creditcard:    信用卡号验证 
equalTo:       “请再次输入相同的值”验证 
accept:        拥有合法后缀名的字符串验证 
maxlength/minlength:    最大/最小长度验证 
rangelength:     字符串长度范围验证 
range:           数字范围验证 
max/min:         最大值/最小值验证 
另个一种验证方法(将所有的与验证相关的信息写到class属性中方便管理)
1).引入一个新的jQuery插件---jquery.metadata.js(支持固定格式解析的jQuery插件)

<script src="scripts/jquery.metadata.js" type="text/javascript"></script> 

2).改变调用的验证方法
<script type="text/javascript"> 
////<![CDATA[ 
$(document).ready(function(){ 
  //将$("#commentForm").validate(); 改成 
  $("#commentForm").validate({meta: "validate"}); 
}); 
//]]> 
</script>

3).将验证规则全部编写到class属性中

class="{validate:{required: true, minlength: 2, messages:{required:'请输入姓名', minlength:'请至少输入两个字符'}}}" 
class="{validate:{required: true, email: true, messages:{required:'请输入电子邮件', email:'请检查电子邮件的格式'}}}"

也可以通过name属性来关联字段和验证规则的验证写法(验证行为和HTML结构完全脱钩)

$("#commentForm").validate({ 
  rules: { 
   username: { 
     required: true, 
     minlength: 2 
   }, 
   email: { 
     required: true, 
     email: true 
   }, 
   url:"url", 
   comment: "required" 
  }, 
  messages: { 
   username: { 
     required: '请输入姓名', 
     minlength: '请至少输入两个字符' 
   }, 
   email: { 
     required: '请输入电子邮件', 
     email: '请检查电子邮件的格式' 
   }, 
   url: '请检查网址的格式', 
   comment: '请输入您的评论' 
  } 
});

国际化
Validation插件的验证信息默认语言是英文,如果要改成中文,只需要引入Validation提供的中文验证信息即可,引入代码如下:

<script src="scripts/jquery.validate.messages_cn.js" type="text/javascript"></script> 

自定义验证信息并美化
errorElement: "em",        //可以用其他标签,记住把样式也对应修改 
success: function(label) {  //label指向上面那个错误提示信息标签em 
   label.text("")            //清空错误提示消息 
       .addClass("success");  //加上自定义的success类 
   } 
在CSS中添加样式与之关联 
em.error { 
   background:url("images/unchecked.gif") no-repeat 0px 0px; 
   padding-left: 16px; 
} 
em.success { 
   background:url("images/checked.gif") no-repeat 0px 0px; 
   padding-left: 16px; 
}

自定义验证规则

//自定义一个验证方法 
$.validator.addMethod( 
  "formula", //验证方法名称 
  function(value, element, param) {//验证规则 
    return value == eval(param); 
  },  
  '请正确输入数学公式计算后的结果'//验证提示信息 
); 
 
$("#commentForm").validate({ 
  rules: { 
   username: { 
     required: true, 
     minlength: 2 
   }, 
   email: { 
     required: true, 
     email: true 
   }, 
   url:"url", 
   comment: "required", 
   valcode: { 
     formula: "7+9" 
   } 
  }, 
  messages: { 
   username: { 
     required: '请输入姓名', 
     minlength: '请至少输入两个字符' 
   }, 
   email: { 
     required: '请输入电子邮件', 
     email: '请检查电子邮件的格式' 
   }, 
   url: '请检查网址的格式', 
   comment: '请输入您的评论', 
   valcode: '验证码错误' 
  } 
});

以上就是关于表单验证插件jquery.validate.js的详细介绍,希望对大家的学习有所帮助。

Javascript 相关文章推荐
一个加载js文件的小脚本
Jun 28 Javascript
跟着JQuery API学Jquery 之二 属性
Apr 09 Javascript
Firebug入门指南(Firefox浏览器)
Aug 21 Javascript
在子窗口中关闭父窗口的一句代码
Oct 21 Javascript
javascript页面渲染速度测试脚本分享
Apr 15 Javascript
自己动手手写jQuery插件总结
Jan 20 Javascript
浅谈js中几种实用的跨域方法原理详解
Dec 02 Javascript
微信小程序 在线支付功能的实现
Mar 14 Javascript
javascript创建元素和删除元素实例小结
Jun 19 Javascript
Jquery实现获取子元素的方法分析
Aug 24 jQuery
Node对CommonJS的模块规范
Nov 06 Javascript
阿望教你用vue写扫雷小游戏
Jan 20 Javascript
JavaScript使用DeviceOne开发实战(二) 生成调试安装包
Dec 01 #Javascript
JavaScript使用DeviceOne开发实战(一) 配置和起步
Dec 01 #Javascript
快速学习jQuery插件 Form表单插件使用方法
Dec 01 #Javascript
jQuery学习笔记之Ajax用法实例详解
Dec 01 #Javascript
易操作的jQuery表单提示插件
Dec 01 #Javascript
JavaScript保留关键字汇总
Dec 01 #Javascript
轻松学习jQuery插件EasyUI EasyUI表单验证
Dec 01 #Javascript
You might like
PHP中file_exists函数不支持中文名的解决方法
2014/07/26 PHP
PHP实现文件下载【实例分享】
2017/04/28 PHP
Yii框架布局文件的动态切换操作示例
2019/11/11 PHP
laravel excel 上传文件保存到本地服务器功能
2019/11/14 PHP
js 禁用只读文本框获得焦点时的退格键
2010/04/25 Javascript
javascript采用数组实现tab菜单切换效果
2012/12/12 Javascript
Javascript中prototype属性实现给内置对象添加新的方法
2015/05/14 Javascript
javascript实现根据汉字获取简拼
2016/09/25 Javascript
Cpage.js给组件绑定事件的实现代码
2017/08/31 Javascript
vue实现登陆登出的实现示例
2017/09/15 Javascript
jQuery实现图片上传预览效果功能完整实例【测试可用】
2018/05/28 jQuery
Vue实现双向绑定的原理以及响应式数据的方法
2018/07/02 Javascript
js遍历详解(forEach, map, for, for...in, for...of)
2019/08/28 Javascript
Vue使用mixin分发组件的可复用功能
2019/09/01 Javascript
JavaScript Dom 绑定事件操作实例详解
2019/10/02 Javascript
详解vite2.0配置学习(typescript版本)
2021/02/25 Javascript
[14:24]Optic Gaming vs PSG LGD BO3
2018/06/07 DOTA
python查找目录下指定扩展名的文件实例
2015/04/01 Python
浅谈django orm 优化
2018/08/18 Python
python3 tkinter实现点击一个按钮跳出另一个窗口的方法
2019/06/13 Python
关于numpy.where()函数 返回值的解释
2019/12/06 Python
使用Tkinter制作信息提示框
2020/02/18 Python
python扫描线填充算法详解
2020/02/19 Python
Keras实现DenseNet结构操作
2020/07/06 Python
CSS3常用的几种颜色渐变模式总结
2016/11/18 HTML / CSS
英国领先的男士服装和时尚零售商:Burton
2017/01/09 全球购物
三星美国官网:Samsung美国
2017/02/06 全球购物
goodhealth官方海外旗舰店:新西兰国民营养师
2017/12/15 全球购物
大学生求职中的自我评价
2013/10/01 职场文书
大家检讨书5000字
2014/02/03 职场文书
合作意向协议书范本
2014/03/31 职场文书
教职工代表大会主持词
2014/04/01 职场文书
电子银行业务授权委托书
2014/10/10 职场文书
教师党员个人总结
2015/02/10 职场文书
毕业班班主任工作总结2015
2015/07/23 职场文书
科学家测试在太空中培育人造肉,用于未来太空旅行
2022/04/29 数码科技