简介:

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

优点: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. vim 编辑器的设置

    vi编辑器的配置:http://blog.mcuol.com/User/fenghua/Article/17411_1.htm ******************************vim ~/ ...

  2. 解决mvc部署在IIS上以后出现404错误

    首先:aspnet_regiis -i 如果还不行,更改web.config文件,添加红色的部分 <system.webServer> <modules runAllManagedM ...

  3. 剑指Offer 把字符串转换成整数

    题目描述 将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数. 数值为0或者字符串不是一个合法的数值则返回0 输入描述: 输入一个字符串,包括数字字母符号,可以为空 输出描述: 如果是合法 ...

  4. 全部springxml文件约束 applicationContext.xml

    <?xml version="1.0" encoding="utf-8"?> <beans xmlns="http://www.sp ...

  5. Python类的特点 (3) :静态方法与类方法

    Python中的方法有4种: 1)模块中的全局方法,不属于任何类,用"模块名.方法名"形式调用. 2)类中定义的实例方法,也被称为绑定方法(Bound method),这种方法的第 ...

  6. iOS开源App整理

    http://duxinfeng.com/2015/07/14/iOS%E5%BC%80%E6%BA%90App%E6%95%B4%E7%90%86/ http://blog.csdn.net/dux ...

  7. neutron的基本原理

    neutron是openstack的一个重要模块,也是比较难以理解和debug的模块之一. 我这里安装如图安装了经典的三个节点的Havana的Openstack   图1 分三个网络: Externa ...

  8. adb 服务端口2037被占,导致adb和appium无法工作

    症状1: 命令行运行 adb 相关命令,提示如下: adb server is out of date. killing...ADB server didn't ACK* failed to star ...

  9. percona-toolkit 之 【pt-slave-delay】说明

    摘要: 在主从复制的架构中,正常情况下主上操作的记录也会在从上进行操作,虽说是异步复制,但操作会“实时”的同步到从.比如在主上不小心误操作了,还没等反应过来从上也会马上执行误操作,后期只有通过二进制或 ...

  10. 20151130test->20160530

    过了6个月了,有些长进么?哈 go go go 开源镜像 http://mirrors.163.com/