基于自定义属性的form表单实时监听检验方法及系统技术方案

技术编号:21034023 阅读:35 留言:0更新日期:2019-05-04 05:20
本发明专利技术公开了一种基于自定义属性的form表单实时监听检验方法及系统,包括以下步骤:利用自定义属性和正则表达式相结合的方式,对表单数据进行实时监测和检验;根据序列化表单对录入数据进行提取,其中,将相同表单数据放到同一数组中;根据反序列化表单将录入数据回显到相应位置。本发明专利技术有益效果:学习成本低,扩展性强,提高了开发人员对表单处理的效率,同时,提供了成熟的表单序列化和反序列化操作方法,使开发人员方便快捷的get/set对应数据,简化了form表单的一系列操作。

Method and System of Form Form Real-time Monitoring and Checking Based on Custom Attributes

【技术实现步骤摘要】
基于自定义属性的form表单实时监听检验方法及系统
本专利技术涉及表单验证
,具体来说,涉及一种基于自定义属性的form表单实时监听检验方法及系统。
技术介绍
Form表单是web系统的常用组件,主要用于数据增加和编辑操作,数据操作会涉及到用户填写数据的检验,用户填写数据的提取,数据的回显等操作,一系列的操作会产生复杂的逻辑和交互,优化交互及逻辑,可以使开发人员专注于业务逻辑,不需要再进行繁杂的细节处理,提高开发效率。目前,对form表单校验主要是JQuery调用对应方法,动态生成校验规则,需要用户按照属性定义大量对应规则,规范繁琐;在插件可扩展方面,自定义验证方法及调用方法需要一定的学习成本,使用较复杂。表单的序列化操作,现有方法仍存在问题,即当表单涉及到数组时,生成数据无法正常解析;表单的反序列化中,数组、radio、checkbox、select及textarea无法正常set数据到对应内容中。针对相关技术中的问题,目前尚未提出有效的解决方案。
技术实现思路
针对相关技术中的上述技术问题,本专利技术提出一种基于自定义属性的form表单实时监听检验方法及系统,能够解决了现有form表单使用时存在的很多问题,并使得开发人员不需处理繁杂的细节交互,即可实现所需功能,大幅度提高了开发效率及代码的可靠性,降低了测试工作量,降低了团队维护成本。为实现上述技术目的,本专利技术的技术方案是这样实现的:一种基于自定义属性的form表单实时监听检验方法,包括以下步骤:利用自定义属性和正则表达式相结合的方式,对表单数据进行实时监测和检验;根据序列化表单对录入数据进行提取,其中,将相同表单数据放到同一数组中;根据反序列化表单将录入数据回显到相应位置。进一步地,所述利用自定义属性和正则表达式相结合的方式包括:通过自定义属性data-validator方式,将所需的检测规则利用JSON数据格式赋值到自定义属性中。进一步地,所述根据序列化表单对录入数据进行提取包括:利用serializeArray()取得form表单中所有数据,并以数组形式返回;将取得的数组数据进行循环处理;循环处理时判断name是否在返回的json对象中存在;当数据已存在于json对象中,判断当前数据内容是否为数组。进一步地,所述循环处理时判断name是否在返回的json对象中存在包括:当name返回的json对象中不存在,直接放到json对象中;当name返回的json对象中已存在,则处理数组数据。进一步地,所述根据反序列化表单将录入数据回显到相应位置包括:将反序列化的数据进行循环处理;循环处理时判断name重复内容,并根据tagName的不同,进行不同的数据回显处理方式。本专利技术的另一方面,提供一种基于自定义属性的form表单实时监听检验系统,包括:监测检验模块,用于利用自定义属性和正则表达式相结合的方式,对表单数据进行实时监测和检验;提取模块,用于根据序列化表单对录入数据进行提取,其中,将相同表单数据放到同一数组中;恢复模块,用于根据反序列化表单将录入数据回显到相应位置。进一步地,所述监测检验模块中利用自定义属性和正则表达式相结合的方式包括:通过自定义属性data-validator方式,将所需的检测规则利用JSON数据格式赋值到自定义属性中。进一步地,所述提取模块中根据通过检验后的表单数据根据序列化表单对录入信息进行提取包括:获取模块,用于利用serializeArray()取得form表单中所有数据,并以数组形式返回;第一处理模块,用于将取得的数组数据进行循环处理;第一判断模块,用于循环处理时判断name是否在返回的json对象中存在;第二判断模块,用于当数据已存在于json对象中,判断当前数据内容是否为数组。进一步地,所述第一判断模块中循环处理时判断name是否在返回的json对象中存在包括:当name返回的json对象中已存在,则处理数组数据。进一步地,所述恢复模块中根据反序列化表单将录入数据回显到相应位置包括:第二处理模块,用于将反序列化的数据进行循环处理;第三判断模块,用于循环处理时判断name重复内容,并根据tagName的不同,进行不同的数据回显处理方式。本专利技术的有益效果:学习成本低,扩展性强,提高了开发人员对表单处理的效率,同时,提供了成熟的表单序列化和反序列化操作方法,使开发人员方便快捷的get/set对应数据,简化了form表单的一系列操作。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是根据本专利技术实施例所述的基于自定义属性的form表单实时监听检验方法的流程图;图2是根据本专利技术实施例所述的基于自定义属性的form表单实时监听检验系统的示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本专利技术保护的范围。如图1所示,根据本专利技术实施例所述的一种基于自定义属性的form表单实时监听检验方法,包括以下步骤:利用自定义属性和正则表达式相结合的方式,对表单数据进行实时监测和检验;当校验全部通过后,利用序列化表单对录入信息进行提取,并将相同表单数据放到同一数组中;根据反序列化表单将录入数据回显到相应位置,即用户内容编辑时的数据回显操作即反序列化操作,此操作使用了deserializeForm()方法,将后台返回的json数据按照key:value一一对应的方式,set到相应位置。具体的,使用自定义属性和正则表达式相结合的方式,将用户的校验规则及错误提示定义到自定义属性中,使用时,既可以调用已有校验规则方法,也可自行定义正则校验,对form表单的序列化操作,补充了对数组的操作,将相同数据放到同一数组中;对form表单的反序列化操作,主要根据key值set对应value值,如遇数组、radio、checkbox、select及textarea进行特殊处理,以保证数据正常回显到相应位置,此技术将表单操作一体化,提供了从用户输入到数据提取存储,再到回显编辑的整体封装。Form表单会涉及到用户录入信息,录入信息的提取,提取信息的实时监测,将监测通过后的表单数据发送给后台进行存储操作,内容编辑时的数据回显到相应位置等操作。在本专利技术的一个具体实施例中,所述利用自定义属性和正则表达式相结合的方式包括:通过自定义属性data-validator方式,将所需的检测规则利用JSON数据格式赋值到自定义属性中。具体的,当系统中需要用户进行信息录入时,需要对数据进行实时监听及检验,并作出相应提示,通过自定义属性data-validator方式,将所需的检测规则按照严格的JSON数据格式,赋值到此自定义属性中,格式如下:data-validator='{"types":"","regex":"","errorMsg":""}'其中字段“types”提供了可选的检测项,如字段为非空,本文档来自技高网...

【技术保护点】
1.一种基于自定义属性的form表单实时监听检验方法,其特征在于,包括以下步骤:利用自定义属性和正则表达式相结合的方式,对表单数据进行实时监测和检验;根据序列化表单对录入数据进行提取,其中,将相同表单数据放到同一数组中;根据反序列化表单将录入数据回显到相应位置。

【技术特征摘要】
1.一种基于自定义属性的form表单实时监听检验方法,其特征在于,包括以下步骤:利用自定义属性和正则表达式相结合的方式,对表单数据进行实时监测和检验;根据序列化表单对录入数据进行提取,其中,将相同表单数据放到同一数组中;根据反序列化表单将录入数据回显到相应位置。2.根据权利要求1所述的基于自定义属性的form表单实时监听检验方法,其特征在于,所述利用自定义属性和正则表达式相结合的方式包括:通过自定义属性data-validator方式,将所需的检测规则利用JSON数据格式赋值到自定义属性中。3.根据权利要求1所述的基于自定义属性的form表单实时监听检验方法,其特征在于,所述根据序列化表单对录入数据进行提取包括:利用serializeArray()取得form表单中所有数据,并以数组形式返回;将取得的数组数据进行循环处理;循环处理时判断name是否在返回的json对象中存在;当数据已存在于json对象中,判断当前数据内容是否为数组。4.根据权利要求3所述的基于自定义属性的form表单实时监听检验方法,其特征在于,所述循环处理时判断name是否在返回的json对象中存在包括:当name返回的json对象中不存在,直接放到json对象中;当name返回的json对象中已存在,则处理数组数据。5.根据权利要求1-4任一项所述的基于自定义属性的form表单实时监听检验方法,其特征在于,所述根据反序列化表单将录入数据回显到相应位置包括:将反序列化的数据进行循环处理;循环处理时判断name重复内容,并根据tagName的不同,进行不同的数据回显处理方式。6.一种基于自定义属性的form表单实时监听检验系统,其特征在于,包括:监测...

【专利技术属性】
技术研发人员:徐汕付丽萍刘强刘明
申请(专利权)人:北京航天云路有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1