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 对象键值对传参方式设置

$('#reg').validate({
rules : {
    user : {                          //只有一个规则的话,
        required : true,             //直接 user : 'required',
        minlength : 2,
    },
},
    messages : {
        user : {
            required : '帐号不得为空!',
            minlength : '帐号不得小于 2 位!',
        },
    }
});

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

//所有规则演示

$('#reg').validate({
      rules : {
        email : {
            email : true,
        },
        url : {
            url : true,
        },
        date : {
            date : true,
        },
        dateIOS : {
            dateIOS : true,
        },
        number : {
            number : true,
        }
         digits : {
            digits : true,
        },
        creditcard : {
            creditcard : true,
        },
        min : {
            min : 5,
        },
        range : {
            range : [5, 10],
        },
        rangelength : {
           rangelength : [5,10],
        },
        notpass : {
            equalTo : '#pass', //这里的 To 是大写的 T
        }
    },
})

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

$('#reg').validate({
    rules : {
        user : {
            required : true,
            minlength : 5,
            rangelength : [5,10]
        },
    },
    messages : {
        user : {
            required : '帐号不得为空!',
            minlength : jQuery.format('帐号不得小于{0}位!'),
            rangelength : jQuery.format('帐号限制在{0}-{1}位!'),
        },
    },
});

//开启调试模式禁止提交
$('#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()
})
},

//高亮显示有错误的元素,变色式
highlight: function(element, errorClass) {
$(element).css('border', '1px solid red');
},

//成功的元素移出错误高亮
unhighlight : function (element, errorClass) {
$(element).css('border', '1px solid #ccc');
},

//表单提交时获取信息
invalidHandler : function (event, validator) {
var errors = validator.numberOfInvalids();
if (errors) {
$('.myerror').html('您有' + errors + '个表单元素填写非法!');
}
},

//获取错误提示句柄,不用提交及时获取值
showErrors : function (errorMap, errorList) {
    var errors = this.numberOfInvalids();
    if (errors) {
        $('.myerror').html('您有' + errors + '个表单元素填写非法!');
    } else {
        $('.myerror').hide();
    }
    this.defaultShowErrors();   //执行默认错误
},

//获取错误提示句柄,errorList
showErrors : function (errorMap, errorList) {
    alert(errorList[0].message);   //得到错误信息
    alert(errorList[0].element);   //当前错误的表单元素
},

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

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

//user.php 内容

<?php     if ($_GET['user'] == 'alex') {         echo 'false';     } else {         echo 'true';     } ?>

注意:远程地址只能输出'true'或'false',不能输出其他值。
//同时传递多个值到远程端

pass : {
    required : true,
    minlength : 6,
    remote : {
        url : 'user.php',
        type : 'POST',
        dataType : 'json',
        data : {
            user : function () {
                return $('#user').val();
            },
        },
    },
},

//user.php 内容

<?php     if ($_POST['user'] != 'alex'  $_POST['pass'] != '123456') {         echo 'false';     } else {         echo 'true';     } ?>

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 增加一个表单验证

$('#user').rules('add', {
    required : true,
    minlength : 2,
    messages : {
        required : '帐号不得为空!',
        minlength : jQuery.format('帐号不得小于{0}位!'),
    }
});

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

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

//添加自定义验证 $.validator.addMethod('code', function (value, element) {     var tel = /^[0-9]{6}$/;     return this.optional(element)  (tel.test(value));   }, '请正确填写您的邮政编码');

//调用自定义验证 rules : {     code : {         required : true,         code : true,     } }

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索表单
, 验证
, validate
, 错误
, 提示
, true
, js验证jquery validator
, json minlength scala
, js, HTML表单
, 用js或jquery实现添加行
, js表单验证
, jquery的validate验证
, 表单验证提示
validate.js
jquery表单验证插件、jquery插件、jquery验证码插件、jquery验证表单、jquery验证插件下载,以便于您获取更多的相关知识。

时间: 2024-10-25 22:46:40

jQuery验证插件的相关文章

jQuery验证插件validation使用指南

  jquery.validation.js在前端验证中使用起来非常方便,提供的功能基本上能满足大部分验证需求,下面我们就来仔细研究下这款jQuery插件的具体使用方法. 在网站开发过程中,有时我们需要验证用户输入的信息是否符合我们的要求,所以我们会对用户提交的数据进行验证.验证分两次进行,一次是在客户端,一次是在服务端.客户端的验证可以提升用户的体验. jquery验证插件有很多,实现的功能也基本相同.本文介绍的只是jquery验证插件中的一种jquery.validate jquery.Va

jquery邮箱 密码验证实例(jquery 验证插件)

  <!doctype html public "-//w3c//dtd xhtml 1.0 transitional//en" "http://www.111cn.net/tr/xhtml1/dtd/xhtml1-transitional.dtd"> <html xmlns="http://www.111cn.net/ 1999/xhtml"> <head> <meta http-equiv="

ASP.NET MVC中很酷的jQuery验证插件

代码:http://down.51cto.com/data/187446 在看这篇文章之前,希望你能够先阅读下我将会使用得到jquery的插件作者博客:http://www.position-absolute.com/articles/jquery-form-validator-because-form-validation-is-a-mess/ 下载下来后,解压到某个地方. 1.创建一个asp.net mvc 3项目: 2.把需要的js和css文件添加到项目中来(在你刚才解压的目录下). 3.

jQuery验证插件 Validate详解_jquery

最常使用JavaScript的场合就是表单的验证,而jQuery作为一个优秀的JavaScript库,也提供了一个优秀的表单验证插件----Validation.Validation是历史最悠久的jQuery插件之一,经过了全球范围内不同项目的验证,并得到了许多Web开发者的好评.作为一个标准的验证方法库,Validation拥有如下特点: 1.内置验证规则: 拥有必填.数字.Email.URL和信用卡号码等19类内置验证规则 2.自定义验证规则: 可以很方便地自定义验证规则 3.简单强大的验证

JQuery验证插件validation的使用

下载:        下载validatation插件地址:jqueryvalidation.org/:这里需要注意的是validation验证插件有依赖于JQuery的,所以连同JQuery也要一起放置到项目中. 使用: 简单配置:  使用的时候很简单,首先如果我们使用环境为中文,可以自定义中文提示信息(也可以另存为文件):如下代码: /** * Created by Administrator on 2017/6/14. */ (function( factory ) { if ( type

jQuery验证插件validate使用方法详解_jquery

1. 写在前面 我们知道,用户在注册的时候,会有个表单页面,然后有些选项是必填的,有些要填的内容是有规范的,这些都要在用户提交之前进行验证才行,如果不符合要求,需要在右边显示一个友好的提示,让用户修改. 记得以前在学习Servlet的时候,实现一个简单的用户注册功能的验证是在后台做的,有些用了正则表达式,有些没用,但是都比较简单.流程是这样的,前台提交表单数据后,servlet获取数据先进行验证,如果不符合要求,将提示信息放到一个List中,然后再把List存到session中,跳转到一个新的页

Jquery验证插件Validate使用及配置

导入JS文件   下载压缩包后validate文件位于dist目录,目录中包含jquery.validate.js 与 additional-methods.js以及各自的min文件.additional-methods.js为附加的验证方法,可根据情况导入. <script src="./js/jquery.js" type="text/javascript"></script> <script src="./js/jque

jQuery 验证插件 Web前端设计模式(asp.net)_jquery

设计目标:建立一个基于jQuery框架的通用Web验证插件... 设计要求:1.需要漂亮的css样式及小图标的润饰... 2.基于jQuery框架... 3.调用.net Web 服务来实现与数据库的异步交互... 解决方案:1.首先,我们来设计三个类,分别用来显示Web给用户的视觉感知.它们分别是 .msg_warning{font-family:Arial,Helvetica,sans-serif,simsun; background:#e7f7ff url(register/MsgWarn

jquery表单验证插件(jquery.validate.js)的3种使用方式

这篇文章主要介绍了jquery表单验证插件(jquery.validate.js)的3种使用方式,本文用详细的代码实例讲解jquery表单验证插件的使用,需要的朋友可以参考下     jquery 验证非常简单,下面总结常用的三种方式: 第一种方式:也是比较标准的方式: 首先引入jquery 插件和 jquery 验证插件: 第一步:引入插件 代码如下: <script type="text/javascript" src="js/jquery-1.6.1.min.js