位置: 编程技术 - 正文

功能强大的jquery.validate表单验证插件(功能强大的英语)

编辑:rootadmin

推荐整理分享功能强大的jquery.validate表单验证插件(功能强大的英语),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:功能强大的成语,功能强大的手机浏览器,功能强大的软件,功能强大的产品往往要比简单的产品更受欢迎,功能强大的手机,功能强大的软件,功能强大的英文,功能强大的产品往往要比简单的产品更受欢迎,内容如对您有帮助,希望把文章链接给更多的朋友!

本文实例为大家分享了jquery.validate表单验证的使用方法,供大家参考,具体内容如下

1 、表单验证的准备工作

在开启长篇大论之前,首先将表单验证的效果展示给大家。

1.点击表单项,显示帮助提示

2.鼠标离开表单项时,开始校验元素 

3.鼠标离开后的正确、错误提示及鼠标移入时的帮助提醒

对于初学者而言,html表单验证是一项极其琐碎的事情。要做好表单验证,需要准备以下基本要素:

  1).html表单结构:包含需要校验的表单元素;

  2).js逻辑控制:在需要校验的表单元素上绑定事件,如点击、获取焦点、失去焦点等事件,并设置这些事件对应的执行函数;

  3).css样式设置:针对需要校验的表单元素,需要设置默认的初始样式,以及触发元素绑定事件后的变化样式。

  这3类基本要素中,html表单结构的创建相对简单。表单验证的重点和难点在于如何利用js及时有效地提醒用户有关表单操作的信息。这里我参考了百度,邮箱,京东等知名互联网企业的注册页面,归纳出表单验证需要的主要提示信息分类如下:

  1).表单元素获取焦点后的帮助信息(插件中对应class名"tip");

  2).表单元素验证通过时的成功信息(插件中对应class名"valid");

  3).表单元素验证失败时的错误信息(插件中对应class名"error")。

  如果不借助任何插件,我们需要花费大量的时间去编写不同类型的信息提示,考虑各种样式间的来回切换,以及编写一些基本的验证规则。名言曰:"我之所以看得更远,是因为我站在巨人的肩膀上"。何不直接利用一些已有的成熟插件,来帮助我们快速的编写一个表单验证功能,这样既能提高效率,又能让我们抽出时间专注于我们自己的逻辑。

在众多表单验证插件中,jquery validate插件是历史最悠久的jQuery插件之一,经过了全球范围内不同项目的验证。它的特点如下:

功能强大的jquery.validate表单验证插件(功能强大的英语)

  1.内置验证规则:拥有必填、数字、email、url和信用卡号码等内置验证规则;

  2.自定义验证规则:可以很方便地自定义验证规则(通过$.validator.addMethod(name,method,message)实现);

  3.简单强大的验证信息提示:默认了验证信息提示,并提供自定义覆盖默认信息提示的功能(通过设置插件中的message参数来实现);

  4.实时验证:可以通过keyup或blur事件触发验证,而不仅仅在表单提交的时候验证。

下面我们选择该插件,来实现一个简单而漂亮的表单验证例子。

2 jquery validate插件实现表单验证的小例子

  在引入jquery validate插件前,需要先引入它所依赖的文件jquery.js(例子中jquery的版本为1.9);在实现的过程中,为了更好地效果,我在jquery.validate.extend.js文件中对jquery validate原有的功能进行了扩展,并修改了相关默认选项;因此在文档头部需要引入的文件有三个:

2.1 表单html

  表单验证3要素中,首先需要完成html表单结构代码的编写。为了让表单结构简单而清晰,我们将表单的每个元素都包裹在一个div结构中:用label标签用来标记元素的名称,接着便是表单元素本身。

【注明:1.使用label标签的好处是为鼠标用户改进了可用性。当在label元素内点击文本时,浏览器就会自动将焦点转到和label相关的表单控件上。2.每个需要校验的表单元素都应该设置id和name属性,方便在使用插件时将元素绑定校验规则和校验信息。】

表单实现代码如下:

2.2 表单验证js逻辑

  接着我们通过js来实现对表单元素的校验。在校验之前,我对jquery validate插件进行了功能扩展,对默认的选项进行了重写覆盖。jquery validate插件默认只提供了校验正确及错误时的提示,缺少我们常见的帮助信息提示。为了解决这个问题,我仔细研究了插件的源码,发现插件本身提供了onfocusin(校验元素获得焦点时调用)和onfocusout(校验元素失去焦点时调用)这两个函数。通过修改默认参数的这两个接口,可以实现党用户鼠标点击或选择元素时(即元素获得焦点),提示帮助信息;在用户鼠标离开元素时(即元素失去焦点),移除帮助信息。

  此外,jquery validate默认提供表单元素输入时的实时校验,因为我们要求在输入时只提示用户帮助信息,故需要关闭输入的实时校验,为此我们将默认参数中的onkeyup设置为null。

  具体的扩展改进代码我放到了新增js脚本jquery.validate.extend.js中,代码如下:  

  完善插件的功能后,现在就是重头戏——使用插件为表单元素绑定校验规则和校验信息。jquery validate插件提供validate方法实现form表单的元素校验,该方法的参数是一个包含键值对的对象。其中最常用的键有rules(为不同元素定义校验规则),messages(为不同元素定义错误提示信息),success(校验正确后的字符串或者是执行函数)。常见的校验规则有:required(是否必填),minlength(最小长度),maxlength(最大长度),email(email格式规则),url(url格式规则),date(date格式规则),rangelength(给定长度范围规则),equalTo(要求元素等于另一元素例如equalsTo:"#password")。下面的代码呈现了如何对表单中的用户名、密码等字段绑定校验规则:

2.3 表单验证css样式

  最后还要为页面元素添加css样式。插件中有一系列默认选项:其中默认错误显示标签为label,错误样式为label.error。上面在jquery.validate.extend.js文件中,有一个success函数需要说明一下。这个函数是在校验成功的时候执行的,我们在函数中为label提示标签添加了校验正确对应的样式label.valid。因此在css中如果要美化信息提示,需要对label相关样式如error,valid样式进行设计。此外我们在扩展插件功能中添加了一个class为tip的label标签,该标签仅在校验元素获得焦点时生成。为此,还需要设置label的tip样式。

完整的样式文件内容具体如下:

3 表单验证效果演示

  至此,表单校验的代码编写和插件的应用已经全部完成。在浏览器中运行代码,显示效果如下图:

  

  基本上满足现在大多数网站表单验证的要求,如果需要增加验证规则,只需要在jquery.validate.extend.js中增加校验规则即可,例子如下:  

标签: 功能强大的英语

本文链接地址:https://www.jiuchutong.com/biancheng/379310.html 转载请保留说明!

上一篇:jquery组件WebUploader文件上传用法详解(jquery filedownload)

下一篇:jquery.validate表单验证插件使用方法解析(jquery validator)

  • 结转已销商品的成本的会计科目有哪些
  • 一般纳税人进项销项抵扣如何做账
  • 展会补贴收入会计处理
  • 财务费用利息收入在贷方表示什么
  • 自来水税率是9%还是3%
  • 公司账户的钱怎么取出来
  • 发票退回原因
  • 固定资产报废后怎么处理
  • 进项税暂估收入的税务处理
  • 增值税普通发票税率
  • 公路工程营改增
  • 2018年债券基金
  • 电子承兑必须对账吗
  • 网络信息化服务中心是干嘛的
  • 股东投资款印花税多少
  • 居间费税收是多少
  • 外贸企业免征增值税
  • 代购商品委托书怎么写
  • 合伙企业收到的合伙金计入什么科目
  • 发票打偏了是否罚款
  • 建筑企业怎么缴纳社保
  • 预付保险费属于什么会计科目
  • 长期债权投资业务处理
  • el-cascader动态加载多级
  • 收到安监处罚款怎么处理
  • 农民合作社扶持政策
  • windows10如何更改时间
  • 增值税专用发票有几联?
  • 代收消费税计算
  • 在建工程明细科目设置
  • phpurl编码
  • 工资总额包括哪些福利费
  • beservice是什么进程
  • php foreach循环遍历数组
  • 结转损益类收入科目
  • 应收账款账务处理及案例分析
  • 今日清明是清明开始还是结束
  • labelme目标检测
  • 从univ.txt文件中去掉机构名称
  • 农民专业合作社属于什么企业类型
  • 持有投资期间,被投资单位编制合并报表
  • 独资子公司与母公司
  • 小规模资产负债表怎么填写
  • 小微企业具体指
  • 为什么企业一定要上政企通
  • 资质使用费怎么收
  • 帝国cms伪静态规则
  • 增值税普票如何开具红字发票
  • 水灾期间未生产怎么处理
  • 供热管道属于什么结构类型
  • 其他货币资金是什么科目
  • 防伪开票系统打不开
  • 房地产企业拆迁补偿费入账要求
  • 当月计提的工资,次月申报吗
  • 表彰奖励奖金规定
  • 营改增后建筑业分公司账务
  • 非流动资产基金对应的新科目
  • 管理费用里包括哪些费用
  • 企业利润分配的内容
  • 什么是增资扩股协议
  • 修改mysql用户权限
  • Windows Server 2008关闭闲置状态的IDE通道
  • 在windowsxp的应用程序中,经常有一些菜单选项呈暗灰色
  • linux awk nr
  • css网站布局实录 pdf
  • python中判断数值类型
  • cocos2d开发的知名游戏
  • JS实现的ajax和同源策略(实例讲解)
  • JavaScript中的变量名不区分大小写
  • unity怎么设置多个关卡
  • 浅析jQuery Ajax请求参数和返回数据的处理
  • jquery调用iframe中的方法
  • jquery遍历json对象
  • 沧州地税局领导班子
  • 2020年海南个人所得税新规定
  • 小额贷款公司在职人员和离职人员情节哪种轻
  • 下载国税网上办税服务厅
  • 水费不用交吗
  • 从国外寄电吉他要多少钱
  • 车辆购置税查询官网
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设