jquery validate插件高级表单验证

Validation(validate)插件提供了另一种方法来为一个表单添加验证,而不需要改变字段的HTML。此外,这个插件提供了广泛的附加选项来控制它如何工作。我们通过给validate()函数传递一个对象直接量来设置这些选项,其中包含了每个选项的单独对象。例如,要指定一条验证规则,我们包含了该规则的代码的一个对象。首先,紧跟着validation函数的第一个圆括号的后面,我们包含一个开始花括号,并且在函数的结束圆括号的前面,放置一个结束花括号。

  1. $(‘idOfForm‘).validate({
  2. //options go in here
  3. });//end validate();

这对花括号表示一个对象直接量,它将包含选项设置。以这种方式使用Validation可能有点容易令人混淆,要理解插件的作者想要它如何工作,最好方法是看一个简单的示例,如图9-6所示。

图 9-6 即便使用这样一个简单的表单,也可以使用Validation插件的高级选项实现更好的控制

提示:我们可以把jquery validate基本验证方法http://www.uphtm.com/js/432.html和这里所介绍的高级验证方法组合到同一个表单上。对于只有一条验证规则和错误消息的字段,可以使用基本验证方法,因为它很快捷,而只是对于更为复杂的验证使用高级验证方法。

图9-6中的表单的HTML如下所示:

  1. <form action="process.php"method="post"id="signup">
  2. <div>
  3. <label for="name">Name</label>
  4. <input name="name"type="text">
  5. </div>
  6. <div>
  7. <label for="email">E-mail Address</label>
  8. <input name="email"type="text">
  9. </div>
  10. <div>
  11. <input type="submit"name="submit"value="Submit">
  12. </div>
  13. </form>

这个表单包含两个文本字段,以粗体显示,一个用于人的名字,一个用于E-mail地址。本小节处理这两个字段的验证,使用高级规则来确保名字字段和E-mail字段都填充了并且格式正确。

注意:可以在http://docs.jquery.com/Plug-ins/Validation/validate#options找到Validation插件的一个完整的选项列表。

validate高级规则

指定验证规则的高级方法包括,传递一个对象,其中包含了表单字段名字和验证规则或想要应用到该字段的规则。该对象的基本结构如下所示:

  1. rules:{
  2. fieldname:‘validationType‘
  3. }

对象名为rules,其中,可以指定字段以及想要应用到该字段的验证类型。然后,整个对象传递给validate()函数。例如,在图9-6所示的表单中,为了让名字字段成为必需的,可以对前面所述的字段应用validate()函数,然后把rules对象传递给该函数,如下所示:

  1. $(‘#signup‘).validate({
  2. rules:{
  3. name:‘required‘
  4. }
  5. });//end validate()

在这个例子中,字段的名字为name,并且规则指定了这个字段是必需的。要对一个表单字段应用多个验证规则,必须为该字段创建另一个对象。例如,要针对图9-6中的表单扩展验证规则,可以添加一条规则,不仅使得email字段是必需的,而且也指定了E-mail地址必须是有效的格式:

  1. 1$(‘#signup‘).validate({
  2. 2 rules:{
  3. 3 name:‘required‘,
  4. 4 email:{
  5. 5 required:true,
  6. 6 email:true
  7. 7}
  8. 8}
  9. 9});//end validate()
  10. //原文:www.uphtm.com

注意:根据JavaScript对象直接量的规则,我们必须用一个逗号来结束每个名/值对,但最后一个名/值对除外。例如,在上面代码的第3行中,name:‘required‘的后面必须有一个逗号,因为其他规则(用于email字段)跟在后面。。

粗体显示的第4行到第7行,指定了用于email字段的规则。这个字段的名字是email,如HTML中所指定的,required:true使得该字段是必需的,而email:true确保字段包含一个E-mail地址。

可以使用表9-2所列出的任何的验证类型。例如,假设给这个例子使用的表单添加一个名为birthday的字段。要确保在这个字段中输入的是日期,可以像下面这样扩展规则列表:

  1. $(‘#signup‘).validate({
  2. rules:{
  3. name:‘required‘,
  4. email:{
  5. required:true,
  6. email:true
  7. },
  8. birthday:‘date‘
  9. }
  10. });//end validate()
  11. //原文:www.uphtm.com

如果还想让birthday字段是必需的,可以把代码做如下调整:

  1. $(‘#signup‘).validate({
  2. rules:{
  3. name:‘required‘,
  4. email:{
  5. required:true,
  6. email:true
  7. },
  8. birthday:{
  9. date:true,
  10. required:true
  11. }
  12. }
  13. });//end validate()
  14. //原文:www.uphtm.com

正如前面提到的,可以对高级验证规则所做的最强大和有用的事情是,要求访问者的输入具有某个最小或最大长度。例如,在一个投诉报告表单上,我们可能想要限制评论长度,例如,200个字符,这样,客户会切中要点而不是长篇大论。也有规则可以确保输入的数字在某个范围内,(转载请注明出处:http://www.uphtm.com/js/433.html)因此,如果表单不是要足够容易以供古人使用的话,我们不接受1900年以前的出生日期。

·minlength。这个字段必须包含至少指定的数目的字符。例如,确保一个字段至少输入了6个字符的规则是:

  1. minlength:6

·maxlength。这个字段必须包含不多于指定数目的字符。例如,确保输入到字段中的字符不超过100个的规则是:

  1. maxlength:100

·rangelength。minlength和maxlength的一个组合。指定了一个字段中所允许的最小字符数和最大字符数。例如,确保一个字段包含至少6个字符而不超过100个字符的规则是:

  1. rangelength:[6,100]

·min。要求字段包含一个数值,并且等于或大于指定的数值。例如,如下的规则要求字段包含一个数值,并且该数值大于或等于10。

  1. min:10

在这个例子中,如果访问者输入8,字段无法通过验证,因为8小于10。同理,如果访问者输入一个单词eight,那么字段也无法通过验证,并且会产生一条错误消息。

·max。和min一样,但是指定了字段可以包含的最大的值。例如,要确保一个字段包含的值小于1000,可以使用如下规则:

  1. max:1000

·range。组合了min和max来指定字段必须包含的最小值和最大值。例如,要确保一个字段包含至少10但不超过1000的数值,可以使用:

  1. range:[10,1000]

·equalTo。要求一个字段内容匹配其他字段。例如,在一个登录表单上,通常要求访问者输入一个密码然后通过再次输入密码来验证它。通过这种方式,访问者可以确保第一次没有输错密码。要使用这个方法,必须指定一个字符串,其中包含有效的选择器。例如,假设第一个密码字段有一个ID为password。如果想要确保“验证密码”字段和第一个密码字段匹配,可以使用这段代码:

  1. equalTo:’#password‘

可以组合使用这些高级验证规则。只要一次处理一个字段就行了。这里有它们如何一起工作的一个例子。假设有一个表单包含了两个字段,一个用于创建密码,另一个用于确认密码。这两个字段的HTML如下所示:

  1. <input name="password"type="password"id="password">
  2. <input name="confirm_password"type="password"id="confirm_password">

这两个字段都是必需的,并且密码必须至少有8个字符,但是不超过16个字符。最后,我们要确保“确认密码”字段匹配其他的密码字段。假设表单的ID为signup,可以使用如下代码验证这两个字段:

  1. $(‘#signup‘).validate({
  2. rules:{
  3. password:{
  4. required:true,
  5. rangelength:[8,16]
  6. },
  7. confirm_password:{
  8. equalTo:’#password‘
  9. }
  10. }
  11. });//end validate()

转载请注明出处:http://www.uphtm.com/js/433.html

时间: 2024-10-12 17:08:24

jquery validate插件高级表单验证的相关文章

jQuery Validate 插件,表单验证功能

连接地址:http://www.w3cschool.cc/jquery/jquery-plugin-validate.html jQuery Validate jQuery Validate 插件为表单提供了强大的验证功能,让客户端表单验证变得更简单,同时提供了大量的定制选项,满足应用程序各种需求.该插件捆绑了一套有用的验证方法,包括 URL 和电子邮件验证,同时提供了一个用来编写用户自定义方法的 API.所有的捆绑方法默认使用英语作为错误信息,且已翻译成其他 37 种语言. 该插件是由 Jör

jQuery Validate插件实现表单强大的验证功能

转自:http://www.jb51.net/article/76595.htm jQuery Validate插件捆绑了一套有用的验证方法,包括 URL 和电子邮件验证,同时提供了一个用来编写用户自定义方法的 API.所有的捆绑方法默认使用英语作为错误信息,且已翻译成其他 37 种语言. 第一节:jQuery Validation让验证变得如此容易 一.官网下载jquery,和jquery validation plugin 二.引入文件 <script src="js/jquery-1

数据检验插件: Validate插件 添加自定义表单验证

jQuery.validator.addMethod("ValiPass", function(value, element,params) { var exp = new RegExp(params);//实例化正则对象,参数为传入的正则表达式 return exp.test(value);      //测试是否匹配 }, "密码必须包含数字.字母大.小写.符号四种"); 然后表单验证中 rules: { newPassword: { minlength: 8,

jQuery Validate【为表单提供了强大的验证功能,让客户端表单验证变得更简单】

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

jQuery常用插件与jQuery使用validation插件实现表单验证实例

jQuery常用插件 1,jQuery特别容易扩展,开发者可以基于jQuery开发一些扩展动能 2,插件:http://plugins.jquery.com 3,超厉害的插件:validation . pickadate.  Echarts.chosen.(编辑器插件) ckeditor在百度上都可以直接搜索 表单校验 jQuery插件validation:https://jqueryvalidation.org/ validation是一个基于jQuery的插件,里面有了jQuery的一些函数

自己编写jQuery插件 之 表单验证

吐个嘈先:最近状态不咋滴,真是什么都不想干,不想上班,做什么都没动力,觉得没意思.不想这样,不想这样,快让这种情绪消失吧,忽忽.... 表单验证在项目中用的还是比较多的,公司当前正在做的项目就要用到,故此写了此插件,先给大家看下在项目中应用的效果图吧: 直接上插件实现代码了,围绕代码进行讲解比较容易点: /* 描述:基于jquery的表单验证插件. 时间:2014-8-3 作者:similar([email protected]) */ (function ($) { $.fn.checkFor

JavaScript之jQuery-7 jQuery 使用插件(使用插件、日历插件、表单验证插件)

一.jQuery 使用插件 插件的查找与帮助 - jQuery 官方网站的插件库(http://plugins.jquery.com) 提供了大量的插件.并给出去了每个插件的用户评级.版本及bug等 - 库中列出了每个插件的ZIP文件下载.演示.示例代码及教程 使用插件 - step 1:将插件包导入到页面中,并确保它在jQuery源文件之后 <script src="jqeury-1.11.1.js"></script> <script></

jquery插件,表单验证validation plugin的使用

笔记: 一.首先引入插件 <script type="text/javascript" src="js/jquery-1.10.0.js" ></script> <script type="text/javascript" src="js/jquery.validate-1.13.1.js" ></script> 列子:一个简单的登录表单验证 1 <form id=&quo

jQuery html5Validate基于HTML5表单验证插件

一.前言 前3篇文章实际都是为本文做铺垫的,如果以下棋表示,前三篇是普通走棋,本篇是将军! 目前市面上有不少表单验证插件,看似强大,实在糟糕! 总结下,有以下一些问题: 过多干预包括:改变了表单元素UI, 为表单元素绑定过多事件等 布局等限制包括:需要特定结构的布局,需要特定的类名或者ID 学习成本包括:N多元作者自定义的属性,或者自定义的特定的数据结构 可用性 当JS出现错误的时候而无法正常运作的时候,验证就是聋子的耳朵——摆设,即使在现代浏览器下也是如此. 面向未来的表单验证 验证驱动验证信