简介:

客户端验证:现代网站填写表单时,几乎一定会采用的方式。

优点:1、可以减少服务器压力

   2、缩短用户等待时间和提升用户体验

jQuery有很多表单验证插件:https://plugins.jquery.com/tag/validate/

其中jQuery Validation插件是最常用的插件之一:https://jqueryvalidation.org/

jQuery Validation插件:

  1、让客户端表单验证变得非常容易,并且提供了很多的配置项目;

  2、插件还附带了很多验证方法,并实现了国际化,可以配置多语言的提示信息。

如何使用:

在页面中引入插件

<script src="jquery.js"></script>

<script src="jquery.validate.js"></script>

例如:用户名密码必填,用户名大于2个字符小于10个字符,密码大于2个字符小于16个字符,可以如下进行设置:

  

  注意:这里的username和password是与表单里的name对应的,而不是ID。

基本API

重要概念

method:验证方法,指的是校验逻辑,比如email方法,检查输入的文本是否符合email的规则。

rule:验证规则,指的是元素和验证方法的关联。比如页面的一个id为email的文本框,需要带有email的验证方法。

validate()方法

validate是插件的核心方法,定义了基本的校验规则和一些有用的配置项。例如debug,如果这个参数为true,那么表单不会提交,只会进行检查,调试时十分方便。

基本验证方法:

required 必填

remote 远程校验

minlength 最小长度

maxlength 最大长度

rangelength 长度范围

min 最小值 (数值)

max 最大值(数值)

range 值范围(数值)

email Email格式

url URL格式

date 日期

dateIOS IOS日期

number 数字

digits 整数 (非负整数)

equalTo 与另一个元素值相等

高级API

valid()方法:

检查表单或某些元素是否有效

rules()方法(注意:只能针对元素使用)

rules():获取表单元素的校验规则

rules("add",rules) 向表单元素增加校验规则

rules("remove",rules) 删除表单元素校验规则(同时移出多个校验规则可以将他们用空格隔开即可)

validator对象

validate方法返回Validator对象,Validator对象有很多有用的方法:

  Validator.form() 验证表单是否有效,返回true/false

  Validator.element(element) 验证某个元素是否有效,返回true/false

  Validator.resetForm() 把表单恢复到验证前原来的状态

  Validator.showErrors(errors) 针对某个元素显示特定的错误信息

  Validator.numberOfInvalids() 返回无效的元素数量

validator对象还有很多有用的静态方法,可以直接使用:

  jQuery.validator.addMethod(name,method[,message])

  增加自定义验证方法

  jQuery.validator.format(template,argument,argumentN...)

  格式化字符串,用参数代替模板中的{N}

  jQuery.validator.setDefaults(options)

  修改插件默认设置

  jQuery.validator.addClassRules(name,rules)

  为某些名为name的class增加组合验证类型

validate()方法配置项

submitHandler 通过验证后运行的函数,可以加上表单提交的方法

invalidHandler 无效表单提交后运行的函数

ignore 对某些元素不进行验证

rules 定义校验规则

messages 定义提示信息

groups 对一组元素的验证,用一个错误提示,用errorPlacement控制把出错信息放在哪里

onsubmit 是否在提交时验证

onfocusout 是否在获取焦点时验证

onkeyup 是否在敲击键盘时验证

onclick 是否在鼠标点击时验证,一般用于checkbox或者radio

focusInvalid 提交表单后,未通过验证的表单(第一个或提交之前获得焦点的未通过验证的表单)是否会获得焦点

focusCleanup 当未通过验证的元素获得焦点时,是否移出错误提示

errorClass 指定错误提示的CSS类名,可以自定义错误提示的样式

validClass 指定验证通过的CSS类名

errorElement 使用什么标签标记错误

wrapper 使用什么标签把上面的errorElement包裹起来

errorLabelContainer 把错误信息统一放在一个容器里面

errorContainer 显示或者隐藏验证信息,可以自动实现有错误信息出现时把容器属性变为显示,无错误时隐藏(容器原始状态为隐藏)

showErrors 可以显示总共有多少个未通过验证的元素

errorPlacement 自定义错误信息放在哪里

success 要验证的元素通过验证后的动作

highlight 可以给未通过验证的元素添加效果

unhighlight 去除未通过验证的元素的效果,一般和highlight同时使用

选择器拓展

:blank 选择所有值为空的元素

:filled 选择所有值不为空的元素

:unchecked 选择所有没有被选中的元素

自定义验证方法

jQuery.validator.addMethod(name,method[,message])

name:方法名称

method:function(value,element,params)方法逻辑

message:提示信息

additional-methods.js 包含了很多扩展验证方法

additional-methods插件实现了国际化

下面的代码就是官方给出的中文国际化的代码:

安全性

客户端校验安全

在数据被输入程序前,必须对数据合法性进行校验,非法输入问题是最常见的web应用程序安全漏洞

所有提交的表单数据,都必须验证两次,即提交前在客户端验证,提交后再服务器端再次验证,保证数据的合法性

服务器端不要相信任何的客户端数据!

三、jQuery--jQuery插件--jQuery插件——Validation Plugin的更多相关文章

  1. (转)jQuery Validation Plugin客户端表单证验插件

    jQuery Validation Plugin客户端表单验证插件 官方文档:http://jqueryvalidation.org/documentation/ 官方demo:http://jque ...

  2. 表单验证的validate.js插件---jQuery Validation Plugin

    早上在公交车上看了一个关于慕课网的教程<表单验证的validate.js插件---jQuery Validation Plugin>,正好可以用到自己近期开发简易微博的注册页面和登录页面, ...

  3. 【jQuery】学习jQuery插件的使用与写法(表单验证插件-validation)

    最新最全的插件可以从jQuery官方网站的插件板块下载,网站地址为:http://plugins.jquery.com/ Validation优点:内置验证规则:自定义验证规则:简单强大的验证信息提示 ...

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

    jQuery的基础部分前面都讲完了,那么就看插件了. 关于jQuery表单验证插件-Validation validation特点: 内置验证规则:拥有必填.数字.E-Mail.URL和信用卡号码等1 ...

  5. jQuery 表单验证插件 jQuery Validation Engine 使用

    jQuery 表单验证插件 jQuery Validation Engine 使用方式如下: 1.引入头文件(注意一定要把jQuery放在前面),指定使用 jQuery Validation Engi ...

  6. JQuery插件使用之Validation 快速完成表单验证的几种方式

    JQuery的Validation插件可以到http://plugins.jquery.com/上去下载.今天来分享一下,关于这个插件的使用. 简易使用 这第一种方式可谓是傻瓜式的使用,我们只需要按照 ...

  7. 三、jQuery--jQuery基础--jQuery基础课程--第9章 jQuery 常用插件

    1.表单验证插件——validate 该插件自带包含必填.数字.URL在内容的验证规则,即时显示异常信息,此外,还允许自定义验证规则,插件调用方法如下:$(form).validate({option ...

  8. jQuery框架学习第十一天:实战jQuery表单验证及jQuery自动完成提示插件

    jQuery框架学习第一天:开始认识jQueryjQuery框架学习第二天:jQuery中万能的选择器jQuery框架学习第三天:如何管理jQuery包装集 jQuery框架学习第四天:使用jQuer ...

  9. jQuery自定义滚动条样式插件mCustomScrollbar

    如果你构建一个很有特色和创意的网页,那么肯定希望定义网页中的滚动条样式,这方面的 jQuery 插件比较不错的,有两个:jScrollPane 和 mCustomScrollbar. 关于 jScro ...

  10. 转 jquery插件--241个jquery插件—jquery插件大全

    241个jquery插件—jquery插件大全 jquery插件jqueryautocompleteajaxjavascriptcoldfusion jQuery由美国人John Resig创建,至今 ...

随机推荐

  1. HDU 5073 Galaxy(2014鞍山赛区现场赛D题)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5073 解题报告:在一条直线上有n颗星星,一开始这n颗星星绕着重心转,现在我们可以把其中的任意k颗星星移 ...

  2. 剑指Offer 整数中1出现的次数(从1到n整数中1出现的次数)

    题目描述 求出1~13的整数中1出现的次数,并算出100~1300的整数中1出现的次数?为此他特别数了一下1~13中包含1的数字有1.10.11.12.13因此共出现6次,但是对于后面问题他就没辙了. ...

  3. OpenCV成长之路(5):图像直方图的应用

    正如第4篇文章所说的图像直方图在特征提取方面有着很重要的作用,本文将举两个实际工程中非常实用的例子来说明图像直方图的应用. 一.直方图的反向映射. 我们以人脸检测举例,在人脸检测中,我们第一步往往需要 ...

  4. HDU 2861 四维dp打表

    Patti and Terri run a bar in which there are 15 stools. One day, Darrell entered the bar and found t ...

  5. tfw格式图解

    话不多说,直接看图. 上图中的UV坐标,实际上只的是图像的 横向坐标 和 纵向坐标 .即图像的行和列坐标. 对于图上任意一个像素点(col,row)这个坐标,换算其地理坐标就十分简单. GeoX = ...

  6. dropify插件的字符串

    1.可以拖拽图片进行上传. 2.使用起来方便. 3.不能进行视频与其他文件的上传,只能上传图片. 4.其余都像普通<input type="file">. 5.在dro ...

  7. phpcms访问顶级栏目,自动跳到第一个子栏目

    在顶级栏目的category页放入如下代码: <?php if($child){ $child_arrary=explode(',',$arrchildid); $to_url=$CATEGOR ...

  8. ITIL与ITSM的联系与区别

    1.ITIL(IT Infrastructure Library)是CCTA(英国国家计算机和电信局)于20世纪80年代末开发的一套IT服务管理标准库,它把英国各个行业在IT管理方面的最佳实践归纳起来 ...

  9. struts的学习笔记

    Struts 2是在WebWork2基础发展而来的. 注意:struts 2和struts 1在代码风格上几乎不一样. Struts 2 相比Struts 1的优点: 1.在软件设计上Struts 2 ...

  10. 【云计算】Cloudify-基于TOSCA规范的开源云应用编排系统

      .cloudify-manager-blueprints:https://github.com/cloudify-cosmo/cloudify-manager-blueprints/tree/3. ...