• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >jquery > jQuery插件之validation插件

jQuery插件之validation插件

作者:小火柴的蓝色理想 字体:[增加 减小] 来源:互联网

小火柴的蓝色理想 通过本文主要向大家介绍了jquery,validation等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

前面的话

最常使用javascript的场合就是表单的验证,而jQuery作为一个优秀的javascript库,也提供了一个优秀的表单验证插件——Validation。Validation是历史最悠久的jQuery插件之一,经过了全球范围内不同项目的验证,并得到了许多Web开发者的好评。本文将详细介绍validation插件

概述

jQuery Validate插件为表单提供了强大的验证功能,让客户端表单验证变得更简单,同时提供了大量的定制选项,满足应用程序各种需求。该插件捆绑了一套有用的验证方法,包括 URL 和电子邮件验证,同时提供了一个用来编写用户自定义方法的 API。所有的捆绑方法默认使用英语作为错误信息,且已翻译成其他 37 种语言

作为一个标准的验证方法库,Validation拥有以下特点:

1、内置验证规则:拥有必填、数字、E-Mail、URL和信用卡号等19类内置验证规则

2、自定义验证规则:可以很方便地自定义验证规则

3、简单强大的验证信息提示:默认了验证信息提示,并提供自定义覆盖默认提示信息的功能

4、实时验证:可以通过keyup或blur事件触发验证

validation作为jQuery的一个插件,使用时需要同jQuery一起引入,注意要先引入jquery

<script src="http://files.cnblogs.com/files/xiaohuochai/jquery-1.10.0.js"></script>
<script src="http://files.cnblogs.com/files/xiaohuochai/jquery.validate-1.13.1.js"></script>

快速上手

validation功能强大且API众多,如果要快速上手,只要掌握常用功能即可

<form id="demoForm">
 <p>
  <label for="username">用户名:</label>
  <input type="text" id="username" name="username"/>
 </p>
 <p>
  <label for="password">密码:</label>
  <input type="password" id="password" name="password"/>
 </p>
 <p>
  <input type="submit" value="登录"/>
 </p>
</form> 
<script>
$('#demoForm').validate({
 rules:{
  username:{
   required: true,
   minlength: 2,
   maxlength: 10
  },
  password:{
   required: true,
   minlength: 2,
   maxlength:10
  }
 }
})
</script>

上述代码主要对name为'username'和'password'这两个input控件进行了校验,这两个控件必须填写内容,且字符长度必须在2-10之间

校验规则

在快速上手的例子中,使用了required、minlength和maxlength这三个校验规则。实际上validation的校验规则有17个之多

序号   规则      描述
   required:true    必须输入的字段
   remote:"check.php"  使用 ajax 方法调用 check.php 验证输入值
   email:true    必须输入正确格式的电子邮件
   url:true     必须输入正确格式的网址
   date:true     必须输入正确格式的日期,内部调用Date.parse()方法进行校验
   dateISO:true    必须输入正确格式的日期(ISO),如:2009-06-23,1998/01/22
   number:true    必须输入合法的数字(负数,小数)
   digits:true    必须输入整数
   creditcard:    必须输入合法的信用卡号
   equalTo:"#field"   输入值必须和 #field 相同
   accept:     输入拥有合法后缀名的字符串(上传文件的后缀)
   maxlength:5    输入长度最多是 5 的字符串(汉字算一个字符)
   minlength:10    输入长度最小是 10 的字符串(汉字算一个字符)
   rangelength:[5,10]  输入长度必须介于 5 和 10 之间的字符串(汉字算一个字符)
   range:[5,10]    输入值必须介于 5 和 10 之间
   max:5      输入值不能大于 5
   min:10     输入值不能小于 10

下面使用一个更详细的例子,对上面的17个规则进行应用

<form id="demoForm">
 <p>
  <label for="username">用户名:</label>
  <input type="text" id="username" name="username"/>
 </p>
 <p>
  <label for="password">密码:</label>
  <input type="password" id="password" name="password"/>
 </p>
 <p>
  <label for="confirm-password">确认密码</label>
  <input type="password" id="confirm-password" name="confirm-password"/>
 </p>
 <p>
  <label for="email">电子邮件:</label>
  <input id="email" name="email"/>
 </p>
 <p>
  <label for="url">网址:</label>
  <input id="url" name="url"/>
 </p>
 <p>
  <label for="date">生日:</label>
  <input id="date" name="date"/>
 </p>
 <p>
  <label for="num">随机数(0-9):</label>
  <input id="num" name="num"/>
 </p>
 <p>
  <label for="card">信用卡号:</label>
  <input id="card" name="card"/>
 </p>
 <p>
  <input type="submit" value="登录"/>
 </p>
</form> 
<script>
$('#demoForm').validate({
 rules:{
  username:{
   required: true,
   maxlength: 10
  },
  password:{
   required: true,
   range:[5,10]
  },
  'confirm-password':{
   equalTo: "#password"
  },
  email:{
   email:true
  },
  url:{
   url:true
  },
  date:{
   dateISO:true
  },
  num:{
   min:0,
   max:9
  },
  card:{
   creditcard:true
  }
 }
})
</script>

默认提示

由上面的例子中看出,validate的默认提示是英文的

messages: {
 required: "This field is required.",
 remote: "Please fix this field.",
 email: "Please enter a valid email address.",
 url: "Please enter a valid URL.",
 date: "Please enter a valid date.",
 dateISO: "Please enter a valid date ( ISO ).",
 number: "Please enter a valid number.",
 digits: "Please enter only digits.",
 creditcard: "Please enter a valid credit card number.",
 equalTo: "Please enter the same value again.",
 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}." )
}

不过可以将其修改为中文,只要加入以下代码

$.extend($.validator.messages, {
 required: "这是必填字段",
 remote: "请修正此字段",
 email: "请输入有效的电子邮件地址",
 url: "请输入有效的网址",
 date: "请输入有效的日期",
 dateISO: "请输入有效的日期 (YYYY-MM-DD)",
 number: "请输入有效的数字",
 digits: "只能输入数字",
 creditcard: "请输入有效的信用卡号码",
 equalTo: "你的输入不相同",
 extension: "请输入有效的后缀",
 maxlength: $.validator.format("最多可以输入 {0} 个字符"),
 minlength: $.validator.format("最少要输入 {0} 个字符"),
 rangelength: $.validator.format("请输入长度在 {0} 到 {1} 之间的字符串"),
 range: $.validator.format("请输入范围在 {0} 到 {1} 之间的数值"),
 max: $.validator.format("请输入不大于 {0} 的数值"),
 min: $.validator.format("请输入不小于 {0} 的数值")
});

使用方式

上面的例子中,validate控件的使用,都是通过使用validate()方法完成的,由于这种方法将HTML结构和javascript逻辑分离,使得代码更加优化

实际上,还有另一种方法就是通过添加HTML属性的方式或添加class类名的方式来进行验证,类似于HTML5新增的input类控件的功能

由于已经将验证规则添加到HTML元素中,所以调用validate()方法时,参数为空

<form id="demoForm">
 <p>
  <label for="username">用户名:</label>
  <input type="text" id="username" name="username" class="required" minlength="2"/>
 </p>
 <p>
  <label for="email">电子邮件:</label>
  <input id="email" name="email" class="required email"/>
 </p>
 <p>
  <label for="url">网址:</label>
  <input id="url" name="url" class="url"/>
 </p>
 <p>
  <input type="submit" value="登录"/>
 </p>
</form> 
<script>
$('#demoForm').validate({})
</script>

更改提示

无论是validate插件自带的英文提示,或者是其扩展的中文提示,可能与实际项目的需求不相符。这时,就需要我们对错误提示

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 基于jQuery对象和DOM对象和字符串之间的转化实例
  • jquery+css实现简单的图片轮播效果
  • 使用jQuery实现鼠标点击左右按钮滑动切换
  • jQuery实现上传图片前预览效果功能
  • jQuery初级教程之网站品牌列表效果
  • 基于jquery实现多选下拉列表
  • jQuery接受后台传递的List的实例详解
  • 详解jquery选择器的原理
  • jQuery上传插件webupload使用方法
  • 关于jquery form表单序列化的注意事项详解

相关文章

  • 基于JQuery框架的AJAX实例代码
  • Hallo.js基于jQuery UI所见即所得的Web编辑器
  • jQuery中animate用法实例分析
  • jQuery源码分析之sizzle选择器详解
  • jQuery插件imgAreaSelect基础讲解
  • jqGrid增加时--判断开始日期与结束日期(实例解析)
  • Bookmarklet实现启动jQuery(模仿 云输入法)
  • jQuery中:last-child选择器用法实例
  • jquery关于图形报表的运用实现代码
  • 移动端JQ插件hammer使用详解

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • jQuery EasyUI封装简化操作
    • 表头固定(利用jquery实现原理介绍)
    • JS中Array数组学习总结
    • jQuery中使用了document和window哪些属性和方法小结
    • jQuery Validate表单验证插件 添加class属性形式的校验
    • Confirmer JQuery确认对话框组件
    • 修改jquery里的dialog对话框插件为框架页(iframe) 的方法
    • 三分钟带你玩转jQuery.noConflict()
    • jquery中ajax跨域方法实例分析
    • jQuery中layer分页器的使用

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有