CN104899027A - 一种实现js通用表单验证的方法 - Google Patents
一种实现js通用表单验证的方法 Download PDFInfo
- Publication number
- CN104899027A CN104899027A CN201510267469.6A CN201510267469A CN104899027A CN 104899027 A CN104899027 A CN 104899027A CN 201510267469 A CN201510267469 A CN 201510267469A CN 104899027 A CN104899027 A CN 104899027A
- Authority
- CN
- China
- Prior art keywords
- attribute
- function
- verification
- checktype
- mess
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明涉及软件开发技术领域,具体涉及一种实现js通用表单验证的方法。本发明利用html表单元素扩展属性,将表单元素对数据的格式要求规则和错误提示绑定到控件自身属性上,然后写一个通用函数去遍历html控件,根据控件的验收规则进行效验,对于不符合要求的输入数据进行提醒,由此提高前台表单数据效验的通用性和灵活性。本方法简单易用,十分有利于降低前台UI工程师的工作量,加快开发进度;可以用于前台页面开发。
Description
技术领域
本发明涉及软件开发技术领域,具体涉及一种实现js通用表单验证的方法。
背景技术
目前的WEB程序功能越来越复杂,程序页面众多;而且每个页面都有自己不同的业务逻辑,数据格式要求各有不同。同时为了提高用户体验度和减少程序BUG,页面表单提交前的数据校验又必不可少;所以通常会一个表单对应一个表单验证函数。这样一来,前台表单验证就成了一个必须要做又十分繁琐的事情。
发明内容
本发明解决的技术问题在于提供一种通用的html表单验证的方法;有效提升校验的效率。
本发明解决上述技术问题的方案是:
利用html表单元素扩展属性,扩展表单元素的属性,绑定数据校验规则和错误提示,通过共用的JS函数完成不同的表单前端数据效验。
所述的方法具体包括以下步骤:
第一步,按照正常的方式新增html表单元素;
第二步,给需要校验的表单元素空间加入扩展属性checkType和mess,根据实际数据格式要求,将验证规则标识写入checkType属性,将错误提示写入mess属性;
第三步,编写一个JS校验函数,定义校验规则类型;
第四步,调用校验函数,遍历表单元素控件,判断checkType属性中的值,对表单进行规则校验,全部通过校验才认为表单数据验证有效。
所述的方法具体包括以下步骤:
第一步,定义一个表单元素<input>标签,
第二步,给<input>标签添加checkType属性和mess属性,根据实际数据格式要求,将验证规则标识写入checkType属性,将错误提示写入mess属性;
第三步,编写一个JS验证函数,用参数接受需要效验的表单或者某个区块的ID,在函数内部遍历表单或者区块内的所有表单元素,抓取控件的checkType属性来校验输入的合法性,对不符合规则的按mess属性中的值进行提醒,未配置mess属性的按照预设提醒处理;
第四步,在表单提交前调用此统一验证函数,将需要验证的表单ID作为参数传给函数;验证失败时函数将给出校验提示,并返回false;所有表单元素通过验证才返回true。
本发明的有益效果是:将表单验证函数和表单栏位数据格式规则分离,数据格式验证规则和错误提醒通过扩展属性绑定到表单元素上,验证函数提供统一的表单元素迭代,抓取验收规则和错误提示即可,从而降低代码耦合,提高代码共用,简化前台页面开发,提升UI工程师的工作效率。
附图说明
下面结合附图对本发明进一步说明:
图1是本发明流程图。
具体实施方式
见附图所示,本发明利用html表单元素扩展属性,扩展表单元素的属性,绑定数据校验规则和错误提示,通过共用的JS函数完成不同的表单前端数据效验。
所述的方法具体包括以下步骤:
第一步,按照正常的方式新增html表单元素;
第二步,给需要校验的表单元素空间加入扩展属性checkType和mess,根据实际数据格式要求,将验证规则标识写入checkType属性,将错误提示写入mess属性;
第三步,编写一个JS校验函数,定义校验规则类型;
第四步,调用校验函数,遍历表单元素控件,判断checkType属性中的值,对表单进行规则校验,全部通过校验才认为表单数据验证有效。
下面具体以HTML页面表单开发为例,讲述该方法的具体操作。
在开发HTML页面表单过程中有以下操作:
第一步、定义一个表单元素如<input>标签。
第二步、给<input>标签添加checkType属性和mess属性,根据实际数据格式要求,将验证规则标识写入checkType属性,将错误提示写入mess属性。
第三步、编写一个JS验证函数(该函数不与具体的表单关联,只需要编写一个,所有页面共用即可),用参数接受需要效验的表单或者某个区块的ID,在函数内部遍历表单或者区块内的所有表单元素,抓取控件的checkType属性来校验输入的合法性,对不符合规则的按mess属性中的值进行提醒,未配置mess属性的按照预设提醒处理即可。
第四步、在表单提交前调用此统一验证函数,将需要验证的表单ID作为参数传给函数即可。验证失败时函数将给出校验提示,并返回false,所有表单元素通过验证才返回true。
Claims (3)
1.一种实现js通用表单验证的方法,其特征在于:利用html表单元素扩展属性,扩展表单元素的属性,绑定数据校验规则和错误提示,通过共用的JS函数完成不同的表单前端数据效验。
2.根据权利要求1所述的实现js通用表单验证的方法,其特征在于:所述的方法具体包括以下步骤:
第一步,按照正常的方式新增html表单元素;
第二步,给需要校验的表单元素空间加入扩展属性checkType和mess,根据实际数据格式要求,将验证规则标识写入checkType属性,将错误提示写入mess属性;
第三步,编写一个JS校验函数,定义校验规则类型;
第四步,调用校验函数,遍历表单元素控件,判断checkType属性中的值,对表单进行规则校验,全部通过校验才认为表单数据验证有效。
3.根据权利要求1或2所述的实现js通用表单验证的方法,其特征在于:所述的方法具体包括以下步骤:
第一步,定义一个表单元素<input>标签,
第二步,给<input>标签添加checkType属性和mess属性,根据实际数据格式要求,将验证规则标识写入checkType属性,将错误提示写入mess属性;
第三步,编写一个JS验证函数,用参数接受需要效验的表单或者某个区块的ID,在函数内部遍历表单或者区块内的所有表单元素,抓取控件的checkType属性来校验输入的合法性,对不符合规则的按mess属性中的值进行提醒,未配置mess属性的按照预设提醒处理;
第四步,在表单提交前调用此统一验证函数,将需要验证的表单ID作为参数传给函数;验证失败时函数将给出校验提示,并返回false;所有表单元素通过验证才返回true。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510267469.6A CN104899027A (zh) | 2015-05-22 | 2015-05-22 | 一种实现js通用表单验证的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510267469.6A CN104899027A (zh) | 2015-05-22 | 2015-05-22 | 一种实现js通用表单验证的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104899027A true CN104899027A (zh) | 2015-09-09 |
Family
ID=54031705
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510267469.6A Pending CN104899027A (zh) | 2015-05-22 | 2015-05-22 | 一种实现js通用表单验证的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104899027A (zh) |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105426183A (zh) * | 2015-11-12 | 2016-03-23 | 天津车之家科技有限公司 | 一种表单验证方法 |
CN105808701A (zh) * | 2015-11-23 | 2016-07-27 | 江苏中威科技软件系统有限公司 | 实现表单自动化验证及多系统间通讯的方法及系统 |
CN106990952A (zh) * | 2017-02-28 | 2017-07-28 | 福建天泉教育科技有限公司 | 基于Vue.js的表单校验方法及其系统 |
CN107766124A (zh) * | 2017-10-26 | 2018-03-06 | 福建星瑞格软件有限公司 | 一种web表单的自动验证方法以及装置 |
CN107918516A (zh) * | 2017-10-17 | 2018-04-17 | 广东广业开元科技有限公司 | 一种可视化动态配置生成图表的系统及方法 |
CN108509246A (zh) * | 2018-04-08 | 2018-09-07 | 重庆满惠网络科技有限公司 | 一种网页表单自定义验证方法和系统 |
CN109324841A (zh) * | 2018-10-09 | 2019-02-12 | 郑州云海信息技术有限公司 | 一种改进表单验证Validform的方法及装置 |
CN109471996A (zh) * | 2018-11-20 | 2019-03-15 | 四川长虹电器股份有限公司 | 网页填写材料的拆分以及存储方法 |
CN109710237A (zh) * | 2019-01-10 | 2019-05-03 | 厦门商集网络科技有限责任公司 | 一种基于自定义二维报表的在线修改校验方法及设备 |
CN109710534A (zh) * | 2018-12-29 | 2019-05-03 | 北京航天云路有限公司 | 基于自定义属性的form表单实时监听检验方法及系统 |
CN109725954A (zh) * | 2018-12-21 | 2019-05-07 | 中链科技有限公司 | 一种动态数据项处理方法及系统 |
CN110569466A (zh) * | 2019-08-27 | 2019-12-13 | 上海易点时空网络有限公司 | 用于移动端的表单验证处理方法以及装置 |
CN110598152A (zh) * | 2019-09-11 | 2019-12-20 | 成都安恒信息技术有限公司 | 一种基于JavaScript的Form表单的事件扩展方法 |
CN110795081A (zh) * | 2019-10-28 | 2020-02-14 | 山东健康医疗大数据有限公司 | 一种实现通用表单验证的方法 |
CN111161889A (zh) * | 2019-12-26 | 2020-05-15 | 嘉兴太美医疗科技有限公司 | 药物安全数据的检验规则的生成方法及检验方法 |
CN114816373A (zh) * | 2022-06-30 | 2022-07-29 | 金现代信息产业股份有限公司 | 用于低代码开发平台的即时错误提示方法及系统 |
-
2015
- 2015-05-22 CN CN201510267469.6A patent/CN104899027A/zh active Pending
Non-Patent Citations (1)
Title |
---|
GIRAFFE_ ZJ: "JS通用表单验证函数,基刑avascript正则表达式", 《HTTP://BLOG.CSDN.NET/GIRAFFE ZJ/ARTICLE/DETAILS/4302034》 * |
Cited By (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105426183A (zh) * | 2015-11-12 | 2016-03-23 | 天津车之家科技有限公司 | 一种表单验证方法 |
CN105426183B (zh) * | 2015-11-12 | 2018-07-27 | 天津车之家科技有限公司 | 一种表单验证方法 |
CN105808701A (zh) * | 2015-11-23 | 2016-07-27 | 江苏中威科技软件系统有限公司 | 实现表单自动化验证及多系统间通讯的方法及系统 |
CN105808701B (zh) * | 2015-11-23 | 2018-07-24 | 江苏中威科技软件系统有限公司 | 实现表单自动化验证及多系统间通讯的方法及系统 |
CN106990952A (zh) * | 2017-02-28 | 2017-07-28 | 福建天泉教育科技有限公司 | 基于Vue.js的表单校验方法及其系统 |
CN106990952B (zh) * | 2017-02-28 | 2020-08-18 | 福建天泉教育科技有限公司 | 基于Vue.js的表单校验方法及其系统 |
CN107918516A (zh) * | 2017-10-17 | 2018-04-17 | 广东广业开元科技有限公司 | 一种可视化动态配置生成图表的系统及方法 |
CN107766124A (zh) * | 2017-10-26 | 2018-03-06 | 福建星瑞格软件有限公司 | 一种web表单的自动验证方法以及装置 |
CN108509246A (zh) * | 2018-04-08 | 2018-09-07 | 重庆满惠网络科技有限公司 | 一种网页表单自定义验证方法和系统 |
CN109324841A (zh) * | 2018-10-09 | 2019-02-12 | 郑州云海信息技术有限公司 | 一种改进表单验证Validform的方法及装置 |
CN109324841B (zh) * | 2018-10-09 | 2021-11-26 | 郑州云海信息技术有限公司 | 一种改进表单验证Validform的方法及装置 |
CN109471996A (zh) * | 2018-11-20 | 2019-03-15 | 四川长虹电器股份有限公司 | 网页填写材料的拆分以及存储方法 |
CN109725954A (zh) * | 2018-12-21 | 2019-05-07 | 中链科技有限公司 | 一种动态数据项处理方法及系统 |
CN109710534A (zh) * | 2018-12-29 | 2019-05-03 | 北京航天云路有限公司 | 基于自定义属性的form表单实时监听检验方法及系统 |
CN109710534B (zh) * | 2018-12-29 | 2022-01-11 | 北京航天云路有限公司 | 基于自定义属性的form表单实时监听检验方法及系统 |
CN109710237A (zh) * | 2019-01-10 | 2019-05-03 | 厦门商集网络科技有限责任公司 | 一种基于自定义二维报表的在线修改校验方法及设备 |
CN110569466A (zh) * | 2019-08-27 | 2019-12-13 | 上海易点时空网络有限公司 | 用于移动端的表单验证处理方法以及装置 |
CN110598152A (zh) * | 2019-09-11 | 2019-12-20 | 成都安恒信息技术有限公司 | 一种基于JavaScript的Form表单的事件扩展方法 |
CN110795081A (zh) * | 2019-10-28 | 2020-02-14 | 山东健康医疗大数据有限公司 | 一种实现通用表单验证的方法 |
CN111161889A (zh) * | 2019-12-26 | 2020-05-15 | 嘉兴太美医疗科技有限公司 | 药物安全数据的检验规则的生成方法及检验方法 |
CN114816373A (zh) * | 2022-06-30 | 2022-07-29 | 金现代信息产业股份有限公司 | 用于低代码开发平台的即时错误提示方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104899027A (zh) | 一种实现js通用表单验证的方法 | |
CN101957745B (zh) | 梯形图语言转换为结构文本语言的方法 | |
CN107203465B (zh) | 系统接口测试方法及装置 | |
CN105867944B (zh) | Web前端数据操作层及其实现方法 | |
CN102609241A (zh) | 热补丁方法及装置 | |
CN104978253A (zh) | 一种目标文件校验的方法和装置 | |
CN105760289A (zh) | 一种嵌入式系统的调试方法及装置 | |
CN104268001A (zh) | 一种创建虚拟机的方法和创建虚拟机的装置 | |
CN103605526A (zh) | 一种基于责任链模式的模版组件化生成代码的方法 | |
CN102902526A (zh) | 一种通过延时实现bmc及ip信息的自动化设置方法 | |
CN103514074A (zh) | Mvb网卡开发方法及平台 | |
CN108228965B (zh) | 一种存储单元的仿真验证方法、装置和设备 | |
TW201506786A (zh) | 程式調試系統及方法 | |
CN103051728A (zh) | 一种远程过程调用方法 | |
CN102129385A (zh) | 一种虚拟机管理功能动态扩展的管理方法 | |
JP2008165342A (ja) | ソースコード生成方法及び装置並びにプログラム | |
WO2022257303A1 (zh) | 一种深度学习系统的部署方法和装置 | |
CN103186465A (zh) | 网页用户界面的浏览器兼容性测试方法和系统 | |
CN115904317A (zh) | 一种前后端接口统一调用方法、装置、设备及存储介质 | |
CN105045624A (zh) | PowerPC主机板及烧写方法 | |
CN209570925U (zh) | 用于tee测试的板卡设备 | |
CN110971696B (zh) | 一种实现虚拟电子卡通讯的系统和方法 | |
CN104536892A (zh) | 一种软件在线调试方法和系统 | |
US20140258973A1 (en) | Systems And Methods For Automatically Generating Applications | |
CN104486117A (zh) | 一种多板卡核心交换机的配置命令交互方法和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20150909 |
|
RJ01 | Rejection of invention patent application after publication |