jQuery验证插件

学习要点:
1.使用 validate.js 插件

2.默认验证规则


3.validate()方法和选项


4.validate.js 其他功能

验证插件(validate.js),是一款验证常规表单数据合法性的插件。使用它,极大的解放了在表单上繁杂的验证过程,并且错误提示显示的完善也增加了用户体验。

一.使用
validate.js 插件

官网下载:http://bassistance.de/jquery-plugins/jquery-plugin-validation最重要的文件是validate.js,还有两个可选的辅助文件:additional-methods.js(控件 class方式)和 message_zh.js(提示汉化)文件(实际使用,请使用 min 压缩版) 。

第一步:引入 validate.js
<script type="text/javascript"
src="js/jquery.validate.js"></script>
第二步:在 JS 文件中执行
$(‘#reg‘).validate();

二.默认验证规则
Validate.js 的默认验证规则的写法有两种形式:1.控件属性方式;2.JS 键值对传参方式。

//使用控件方式验证“必填和不得小于两位”

<input type="text"
class="required" minlength="2" name="user"
id="user" />

注意:默认规则里设置布尔值的,直接写到 class 里即可实现。如果是数字或数组区间,直接使用属性=值的方式即可。而对于错误提示,可以引入中文汉化文件,或直接替换掉即可。

//使用 JS 对象键值对传参方式设置

 1 $(‘#reg‘).validate({
 2 rules : {
 3     user : {                          //只有一个规则的话,
 4         required : true,             //直接 user : ‘required‘,
 5         minlength : 2,
 6     },
 7 },
 8     messages : {
 9         user : {
10             required : ‘帐号不得为空!‘,
11             minlength : ‘帐号不得小于 2 位!‘,
12         },
13     }
14 });


注意:由于第一种形式不能设置指定的错误提示信息。我们推荐使用第二种形式,第二种形式也避免的 HTML 污染。

//所有规则演示

 1 $(‘#reg‘).validate({
 2       rules : {
 3         email : {
 4             email : true,
 5         },
 6         url : {
 7             url : true,
 8         },
 9         date : {
10             date : true,
11         },
12         dateIOS : {
13             dateIOS : true,
14         },
15         number : {
16             number : true,
17         }
18          digits : {
19             digits : true,
20         },
21         creditcard : {
22             creditcard : true,
23         },
24         min : {
25             min : 5,
26         },
27         range : {
28             range : [5, 10],
29         },
30         rangelength : {
31            rangelength : [5,10],
32         },
33         notpass : {
34             equalTo : ‘#pass‘, //这里的 To 是大写的 T
35         }
36     },
37 })

三.validate()的方法和选项
除了默认的验证规则外,validate.js 还提供了大量的其他属性和方法供开发者使用。比如,调试属性,错误提示位置一系列比较有用的选项。

//jQuery.format 格式化错误提示

 1 $(‘#reg‘).validate({
 2     rules : {
 3         user : {
 4             required : true,
 5             minlength : 5,
 6             rangelength : [5,10]
 7         },
 8     },
 9     messages : {
10         user : {
11             required : ‘帐号不得为空!‘,
12             minlength : jQuery.format(‘帐号不得小于{0}位!‘),
13             rangelength : jQuery.format(‘帐号限制在{0}-{1}位!‘),
14         },
15     },
16 });


//开启调试模式禁止提交

$(‘#reg‘).validate({
  debug : true,
});


//设置调试模式为默认,可以禁止多个表单提交

$.validator.setDefaults({
  debug : true,   //仍可以正常验证,但是为了方便调试不会提交到指定页面
});


//使用其他方式代替默认提交

submitHandler : function (form) {
  //可以执行 ajax 提交,并且无须 debug:true 阻止提交了
},


//忽略某个字段验证

ignore : ‘#pass‘,


//群组错误提示

groups : {
myerror : ‘user pass‘,
},


//显示群组的错误提示

focusInvalid : false,
errorPlacement : function (error, element) {
  $.each(error, function (index, value) {
    $(‘.myerror‘).html($(‘.myerror‘).html() + $(value).html());
  })
},


//群组错误提示,分开

groups : {
  error_user : ‘user‘,
  error_pass : ‘pass‘
},


//将群组的错误指定存放位置(推荐!!)

1 errorPlacement : function (error, element) {
2   error.appendTo(‘.myerror‘);
3 },


//设置错误提示的 class 名

errorClass : ‘error_list‘,


//设置错误提示的标签

errorElement : ‘p‘,

PS:默认的class名称是“error”,默认的错误提示标签是label。


//统一包裹错误提示

(首先将错误信息标签外面再包裹一层li,然后再html文件中提前设置了错误信息显示元素class为error的ol,这两行代码就将错误信息形成了一个列表样式)
errorLabelContainer : ‘ol.error‘,
wrapper : ‘li‘,


//设置成功后加载的 class

success : ‘success‘,

PS:验证成功之后会在label标签中添加一个sucess类名,然后就可以根据这个设置成功后的的css样式。另外注意:成功之后,对应的input元素里面的class值会有error变为valid,这样也可以根据这个class值设置css样式,样成功后的提示显示在input里面,而不是用success显示在input外面。


//使用方法加载 class 并添加文本

success : function (label) {
  label.addClass(‘success‘).text(‘ok‘);
},


//高亮显示有错误的元素,变色式

highlight: function(element, errorClass) {
  $(element).fadeOut(function() {
    $(element).fadeIn()
  })
},

1 //高亮显示有错误的元素,变色式
2 highlight: function(element, errorClass) {
3   $(element).css(‘border‘, ‘1px solid red‘);
4 },
5
6 //成功的元素移出错误高亮
7 unhighlight : function (element, errorClass) {
8   $(element).css(‘border‘, ‘1px solid #ccc‘);
9 },


//表单提交时获取信息

invalidHandler : function (event, validator) {
  var errors = validator.numberOfInvalids();
  if (errors) {
    $(‘.myerror‘).html(‘您有‘ +
errors + ‘个表单元素填写非法!‘);
  }
},

 1 //获取错误提示句柄,不用提交及时获取值
 2 showErrors : function (errorMap, errorList) {
 3     var errors = this.numberOfInvalids();
 4     if (errors) {
 5         $(‘.myerror‘).html(‘您有‘ + errors + ‘个表单元素填写非法!‘);
 6     } else {
 7         $(‘.myerror‘).hide();
 8     }
 9     this.defaultShowErrors();   //执行默认错误
10 },
11
12
13 //获取错误提示句柄,errorList
14 showErrors : function (errorMap, errorList) {
15     alert(errorList[0].message);   //得到错误信息
16     alert(errorList[0].element);   //当前错误的表单元素
17 },

四.validate.js 其他功能
使用 remote:url,可以对表单进行 ajax 验证,默认会提交当前验证的值到远程地址。如果需要提交其他的值,可以使用 data 选项。
//使用 ajax 验证

rules : {
    user : {
        required : true,
        minlength : 2,
        remote : ‘user.php‘,
    },
},

//user.php 内容

1 <?php
2     if ($_GET[‘user‘] == ‘alex‘) {
3         echo ‘false‘;
4     } else {
5         echo ‘true‘;
6     }
7 ?>


注意:远程地址只能输出‘true‘或‘false‘,不能输出其他值。

//同时传递多个值到远程端

 1 pass : {
 2     required : true,
 3     minlength : 6,
 4     remote : {
 5         url : ‘user.php‘,
 6         type : ‘POST‘,
 7         dataType : ‘json‘,
 8         data : {
 9             user : function () {
10                 return $(‘#user‘).val();
11             },
12         },
13     },
14 },

//user.php 内容

1 <?php
2     if ($_POST[‘user‘] != ‘alex‘ || $_POST[‘pass‘] != ‘123456‘) {
3         echo ‘false‘;
4     } else {
5         echo ‘true‘;
6     }
7 ?>

validate.js 提供了一些事件触发的默认值,这些值呢,大部分建议是不用更改的。

//取消提交验证

onsubmit : false, //默认是 true
注意: 设置为false 会导致直接传统提交, 不会实现验证功能, 一般是用于keyup/click/blur验证提交。

//设置鼠标离开不触发验证
onfocusout : false, //默认为 true

//设置键盘按下弹起不触发验证
onkeyup : false, //默认为 true

注意:只要设置了,在测试的浏览器不管是 false 还是 true 都不触发了。

//设置点击 checkbox 和 radio 点击不触发验证
onclick : false, //默认为 true

//设置错误提示后,无法获取焦点
focusInvalid : false, //默认为 true

//提示错误时,隐藏错误提示,不能和 focusInvalid 一起用,冲突
focusCleanup : true, //默认为 false
如果表单元素设置了 title 值,且 messages 为默认,就会读取 title 值的错误信息,我们可以通过 ignoreTitle : true,设置为 true,屏蔽这一个功能。

ignoreTitle : true, //默认为 false

//判断表单所验证的元素是否全部有效
alert($(‘#reg‘).valid()); //全部有效返回 true


Validate.js 提供了可以单独验证每个表单元素的 rules 方法,不但提供了 add 增加验证,还提供了 remove 删除验证的功能。

//给 user 增加一个表单验证

1 $(‘#user‘).rules(‘add‘, {
2     required : true,
3     minlength : 2,
4     messages : {
5         required : ‘帐号不得为空!‘,
6         minlength : jQuery.format(‘帐号不得小于{0}位!‘),
7     }
8 });

//删除 user 的所有验证规则
$(‘#user‘).rules(‘remove‘);

//删除 user 的指定验证规则
$(‘#user‘).rules(‘remove‘, ‘minlength min max‘);

 1 //添加自定义验证
 2 $.validator.addMethod(‘code‘, function (value, element) {
 3     var tel = /^[0-9]{6}$/;
 4     return this.optional(element) || (tel.test(value));
 5   }, ‘请正确填写您的邮政编码‘);
 6
 7 //调用自定义验证
 8 rules : {
 9     code : {
10         required : true,
11         code : true,
12     }
13 }
14
15  

jQuery验证插件,布布扣,bubuko.com

时间: 2024-08-02 02:50:18

jQuery验证插件的相关文章

第九章 jQuery验证插件简介

1. 表单验证插件-----Validation <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> <meta http-equiv="Content-Type" content=&qu

jQuery验证插件使用初步

validate是一款优秀的表单验证插件,其初步使用方法如下: (1)前台页面代码: <form id="form1" runat="server">       <div class="divFrame">         <div class="divTitle">              请输入下列资料         </div>         <div cla

jQuery验证插件的例子( 表单验证vs2013)

1 插件支持IE8及以上的版本,不再支持IE6.7: 2 使用范围:企业级别的系统开发(用户数目几十到几千人也行),统一安装IE8以上的浏览器即可: 3 如果是企业级宣传网站,则不能使用: html: <script src="js/jquery-1.11.3.js"></script> <script src="js/jquery.validate.js"></script> <!--<script sr

jQuery验证插件 Validate详解

1.引入必要的文件,以及语言中文提示包 2.使用规则如下: 序号 规则 描述 1 required:true 必须输入的字段. 2 remote:"check.php" 使用 ajax 方法调用 check.php 验证输入值. 3 email:true 必须输入正确格式的电子邮件. 4 url:true 必须输入正确格式的网址. 5 date:true 必须输入正确格式的日期.日期校验 ie6 出错,慎用. 6 dateISO:true 必须输入正确格式的日期(ISO),例如:200

【转载】jquery validate验证插件,在ajax提交方式下的验证

正常的表单都是使用submit按钮来提交,jquery  validate插件可以方便的做表单验证. 做一个发送短信的功能,向目标表插入多条记录,界面采用ajax来提交表单,等待效果直接用ext的遮罩了. 但是如何验证却碰到问题. 解决方式很简单,表单跟正常表单一样,validate的submitHandler,invalidHandler这2个方法都需要覆盖,都 return false;这样表单就不会在点击按钮的时候提交了,表单验证跟正常验证起作用.submitHandler在return

jq中的表单验证插件------jquery.validate

今天我们来说一下表单验证,有人说我们在进行表单验证的时候使用正则来验证是非常麻烦的,现在我来给大家介绍一下表单验证的插件:jquery.validate.min.js 它是与jquery一起结合用来使用的,使用它是非常方便,只需写校验规则和错误字段即可. 我们常见的校验规则有以下几种: (1)required:true               必输字段(2)email:true                  必须输入正确格式的电子邮件(3)date:true               

jquery validate 表单验证插件

对于初学者而言,html表单验证是一项极其琐碎的事情.要做好表单验证,需要准备以下基本要素: 1.html表单结构:包含需要校验的表单元素: 2.js逻辑控制:在需要校验的表单元素上绑定事件,如点击.获取焦点.失去焦点等事件,并设置这些事件对应的执行函数: 3.css样式设置:针对需要校验的表单元素,需要设置默认的初始样式,以及触发元素绑定事件后的变化样式. 这3类基本要素中,html表单结构的创建相对简单.表单验证的重点和难点在于如何利用js及时有效地提醒用户有关表单操作的信息.这里我参考了百

【jQuery基础学习】06 jQuery表单验证插件-Validation

jQuery的基础部分前面都讲完了,那么就看插件了. 关于jQuery表单验证插件-Validation validation特点: 内置验证规则:拥有必填.数字.E-Mail.URL和信用卡号码等19类内置验证规则 自定义验证规则:可以很方便地自定义验证规则 简单强大的验证信息提示:默认了验证信息提示,并提供了自定义覆盖默认提示信息的功能 实时验证:可以通过keyup或者blur事件触发验证,而不仅仅在表单提交的时候验证 使用方法: 引用jQuery库和Validation插件 <script

jQuery表单验证插件----通过name属性来关联字段来验证,改变默认的提示信息,将校验规则写到 js 代码中

一.下载依赖包 网盘下载:https://yunpan.cn/cryvgGGAQ3DSW  访问密码 f224 二. 添加一个另外一个插件jquery.validate.messages_cn.js. 改变默认提示方式. 三.jQuery表单验证插件----通过name属性来关联字段来验证,将校验规则写到 js 代码中. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.