CN105808701B - 实现表单自动化验证及多系统间通讯的方法及系统 - Google Patents
实现表单自动化验证及多系统间通讯的方法及系统 Download PDFInfo
- Publication number
- CN105808701B CN105808701B CN201610122592.3A CN201610122592A CN105808701B CN 105808701 B CN105808701 B CN 105808701B CN 201610122592 A CN201610122592 A CN 201610122592A CN 105808701 B CN105808701 B CN 105808701B
- Authority
- CN
- China
- Prior art keywords
- list
- verification
- server end
- form element
- click
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/80—Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
- G06F16/83—Querying
- G06F16/838—Presentation of query results
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/14—Tree-structured documents
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Human Computer Interaction (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明提供了一种实现表单自动化验证及多系统间通讯的方法,所述方法包括服务器端创建一个html表单,服务器端重新绘制表单到显示容器;用户端点击表单元素;并将点击表单元素触发事件发送至服务器端;服务器端根据所述点击表单元素触发事件将完成表单绘制的表单通过内置验证流程引擎实现多字段自动联合验证,并在显示容器中实现数据调用的设置和绑定;服务器端将通过验证的表单放入显示容器;用户端点击表单元素,服务器端通过内置网络服务实现字段数据的远程调用以及跨域调用。本发明通过进行多字段联合验证实现表单较高的抽象化程度,并可实现多平台自动转换,根据关联字段自动完成填充,有效降低了开发难度。
Description
技术领域
本发明涉及计算机应用技术领域,具体涉及一种实现表单自动化验证及多系统间通讯的方法及系统。
背景技术
在大多数企业信息系统中,表单是系统和用户交互的基本接口,表单提供信息的展现及输入信息的接收,实现信息的收集、处理及流转。表单在企业信息系统中有着十分重要的地位。现有表单系统主要分为C/S和B/S两种结构,由于web的快速发展,B/S结构的表单系统应用更加广泛。C/S使用在客户端环境中,更新比较繁琐,可实现离线编辑,但是创建表单和验证表单的过程比较复杂。相对来说,B/S结构制作和更新较简单,但是在兼容性上比C/S结构复杂,需要适配不同浏览器,但跨平台特性比较好。这两种表单系统的验证都需要大量编码实现,同时对多字段联动验证没有给出统一的处理规范。
公布号为CN 103853543 A的发明申请公开了一种应用于企业信息系统开发过程中快速构建表单的方法,包括表单的快速定制、表单与后台业务模块的集成、表单的数据库存储、表单的动态变更、表单的统一展现和表单的缓存读取步骤,提供了B/S方式的表单定制页面快速构建表单的方法。主要描述的是表单如何生成,如何实现从数据库到表单展现及读取,而没有涉及表单的自动关联验证和跨域通讯。
公布号为CN 104461513 AD的发明申请公开了一种生成表单界面的方法,包括接收表单访问请求,解析表单中所含widget,将widget控件映射为web ui对象,填充数据返回表单界面信息显示的步骤。
以上两份专利申请都是针对表单生成的技术方案,而没有涉及表单的自动关联验证和跨域通讯等技术方案。因此现有的表单技术中存在着下列缺陷:
1、web表单在浏览器中存在无法通过AJAX请求外部数据的问题,表单抽象程度不高,无法在C/S和B/S之间直接转换;
2、针对不同平台需要不同的开发技术,对开发人员要求高,开发成本高;
3、web表单验证需要大量编码实现的问题,表单验证自动化程度低,多字段联合验证困难,web表单无法完成更多类型数据存储和关联操作的问题(如非文本数据);
4、可视化程度低,web表单在不同屏幕尺寸下无法保证显示一致性的问题,很多流程需要编码实现,效率低成本高。
发明内容
针对上述现有技术中的不足,本发明提供一种技术方案,可实现表单较高的抽象化程度,实现多平台自动转换,实现多字段联合验证;并能够根据关联字段自动完成填充,有效降低开发难度,提高效率等特性。
本发明所采取的技术方案是:
一种实现表单自动化验证及多系统间通讯的方法,实施该方法的系统
包括服务器端和用户端,所述方法包括如下步骤:
服务器端创建一个html表单,抽取所述html表单内的数据,将所述html表单转换为与设备和显示无关的数据结构;
服务器端读取所述数据结构,在所述html表单的设置面板中绘制表单域的基本参数,通过自身实现的方式重新绘制表单到显示容器;
用户端点击表单元素;并将点击表单元素触发事件发送至服务器端;
服务器端接收用户端发送的点击表单元素触发事件;
服务器端根据所述点击表单元素触发事件将完成表单绘制的表单通过内置验证流程引擎实现多字段自动联合验证,并在显示容器中实现数据调用的设置和绑定;
服务器端将通过验证的表单放入显示容器;
用户端点击表单元素,并将点击表单元素触发事件发送至服务器端;
服务器端接收到用户端发送的点击表单元素触发事件;
服务器端通过内置网络服务实现字段数据的远程调用以及跨域调用,支持跨域数据的交互以及多设备间的信息同步。
优选的是,所述服务器端创建html表单进一步包括如下步骤:
创建一个html表单或者导入一个已有的html表单,将所述html表单放入系统模板库中,调用html表单模板完成所述表单的转换创建;
通过DOM Query方式获取所述html表单页面中的表单元素;
创建一个map结构,将所述通过DOM Query方式获取的所述表单元素添加到map结构中。
在上述任一方案中优选的是,所述服务器端通过自身实现的方式绘制表单进一步包括如下步骤:
(1)遍历所述map结构中的对象,为每个所述表单元素随机生成一个id;
(2)为每个所述表单元素创建空值属性;
(3)获取所述map结构对象,并将获取的所述map结构对象绘制到表单设置面板中;
(4)通过设置verifyformat字段设定验证方法;
(5)通过设置valueformat字段设定value值的格式化方法;
(6)通过设置bindfields字段实现联动计算;
(7)步骤(1)-(6)生成表单的源数据,将所述表单源数据存入数据库,以便程序随时读取。
在上述任一方案中优选的是,所述服务器端对表单实现多字段自动联合验证进一步包括如下步骤:
系统读取所述表单源数据,将所述表单源数据放入表单处理引擎,表单处理引擎实现界面渲染显示功能,并通过读取和解析表单数据实现各自平台的界面绘制;
遍历所述表单元素,根据表单元素属性将表单元素绘制到显示界面;
对表单元素进行验证。
在上述任一方案中优选的是,所述服务器端对表单元素进行验证包括元素响应用户操作事件验证、元素关联事件响应验证和提交表单验证。
在上述任一方案中优选的是,所述元素响应用户操作事件验证进一步包括如下步骤:
用户端点击表单元素,并将点击表单元素触发事件发送至服务器端;
服务器端接收到用户端发送的点击表单元素触发事件;
服务器端根据点击表单元素触发事件获取点击元素的verifyformat属性;
服务器端判断是否需要对获取的元素属性进行处理,若需要处理,则执行formatStr方法处理verifyformat属性,获取value值;若不需要处理,直接获取value值;
服务器端获取value值后执行verifyformat;
服务器端向元素对象返回验证结果。
在上述任一方案中优选的是,所述服务器端对元素关联事件响应验证进一步包括如下步骤:
表单程序为每个表单元素绑定用户端的操作行为;
元素响应用户操作事件验证对表单元素验证失败,系统获取点击元素的bindfields属性;
判断是否需要对所述元素的bindfields属性进行处理,若需要处理,则根据bindfields查找关联元素,若不需要处理,则提示错误信息;
根据bindfields查找关联元素,并判断是否需要检测关联元素的valueformat属性;若需要检测,则执行formatStr方法处理valueformat,并获取处理后的value,返回value值;若不需要检测,直接返回value值;
赋值给所述valueformat属性的value项。
在上述任一方案中优选的是,所述提交表单验证进一步包括如下步骤:
用户端点击表单元素,并将点击表单元素触发事件发送至服务器端;
服务器端接收到用户端发送的点击表单元素触发事件;
表单程序遍历表单元素,检查表单元素的verifyformat属性,并判断是否需要处理,若需要处理,则执行验证方法,若不需要处理,则指向下一个元素;
表单程序执行验证方法时询问验证是否通过,若通过验证,则指向下一个元素,若没有通过验证,则提示错误;
指向下一个元素时检测是否所有的元素都已处理,若未处理,则返回到检查表单元素的verifyformat属性步骤;若已处理,则提交表单到服务器并结束验证。
在上述任一方案中优选的是,所述表单元素包括:input、radio、checkbox、textarea、select、button、file。
在上述任一方案中优选的是,所述表单元素包括表单属性,所述表单属性包括坐标、宽度、高度、元素名、元素类型、元素值、元素待选值。
在上述任一方案中优选的是,所述表单元素的空值属性包括验证字段、格式化字段、远程数据接口和联动字段。
在上述任一方案中优选的是,所述实现字段数据调用进一步包括如下步骤:
用户端点击表单元素,并将点击表单元素触发事件发送至服务器端;
服务器端接收到用户端发送的点击表单元素触发事件;
服务器端获取点击元素的Actionurl属性,判断是否需要对所述元素的Actionurl属性进行处理,若需要处理,则表单程序执行formatStr方法处理Actionurl,系统获取Actionurl的值;若不需要处理,则直接执行系统获取Actionurl的值;
服务器端获取Actionurl的值后,创建显示容器,加载Actionurl,获取用户端点击表单元素触发事件选择的内容;
服务器器端执行完毕,关闭容器,释放资源。
在上述任一方案中优选的是,所述服务器端包括软件开发商或企业服务器。
在上述任一方案中优选的是,所述用户端包括办公软件使用者。
一种实现表单自动化验证及多系统间通讯的方法,实施该方法的系统包括服务器端,所述方法包括如下步骤:
服务器端创建一个html表单,抽取所述html表单内的数据,将所述html表单转换为与设备和显示无关的数据结构;
服务器端读取所述数据结构,在所述html表单的设置面板中绘制表单域的基本参数,通过自身实现的方式重新绘制表单到显示容器;
服务器端接收用户端发送的点击表单元素触发事件;
服务器端根据所述点击表单元素触发事件将完成表单绘制的表单通过内置验证流程引擎实现多字段自动联合验证,并在显示容器中实现数据调用的设置和绑定;
服务器端将通过验证的表单放入显示容器;
服务器端接收到用户端发送的点击表单元素触发事件;
服务器端通过内置网络服务实现字段数据的远程调用以及跨域调用,支持跨域数据的交互以及多设备间的信息同步。
一种实现表单自动化验证及多系统间通讯的方法,实施该方法的系统包括用户端,所述方法包括如下步骤:
用户端点击表单元素,并将点击表单元素触发事件发送至服务器端。
一种实现表单自动化验证及多系统间通讯的系统,包括服务器端和用户端,其特征在于,所述服务器端包括:表单转换模块、表单解析模块、用户行为监控及表单元素触发事件接收模块、表单配置及验证模块、表单调用模块,所述用户端包括点击表单元素触发模块。
优选的是,所述表单转换模块用于创建html表单,并抽取所述html表单内的数据,将所述html表单转换为与设备和显示无关的数据结构。
在上述任一方案中优选的是,所述表单解析模块用于读取所述数据结构,在所述html表单的设置面板中绘制表单域的基本参数,通过自身实现的方式重新绘制表单到显示容器。
在上述任一方案中优选的是,所述用户行为监控及表单元素触发事件接收模块用于监控并接收用户端发送的点击表单元素触发事件。
在上述任一方案中优选的是,所述表单配置及验证模块用于将完成表单绘制的表单通过内置验证流程引擎实现多字段自动联合验证,并在显示容器中实现数据调用的设置和绑定。
在上述任一方案中优选的是,所述表单调用模块用于将通过验证的表单放入显示容器,并通过内置网络服务实现字段数据的远程调用以及跨域调用,支持跨域数据的交互以及多设备间的信息同步。
在上述任一方案中优选的是,所述点击表单元素触发模块用于点击表单元素,并将点击表单元素触发事件发送至服务器端。
在上述任一方案中优选的是,所述服务器端包括软件开发商或企业服务器。
在上述任一方案中优选的是,所述用户端包括办公软件使用者。
本发明相对现有技术的有益效果:
本发明实现表单自动化验证及多系统间通讯的方法及系统生成的表单抽象程度高,可快速在B/S和C/S平台之间转换,表单的保存格式为JSON结构的数据,不包括与浏览器相关的html和css代码,不需要对不同的浏览器的解析模型做适配操作。使本发明的系统在B/S和C/S端都实现了各自平台的功能组件,无需开发即可直接使用。
本发明实现表单自动化验证及多系统间通讯的方法及系统生成的表单结构合理,极大地简化了应用对表单的开发难度。本发明的表单采用JSON作为描述语言,对于开发人员来说更加熟悉和易于理解,同时解析和编辑程序更加易于处理,降低了系统的集成难度。同时大部分为可视化操作,减少了编码操作工作,降低了操作难度。
本发明实现表单自动化验证及多系统间通讯的方法及系统生成的表单具有较高的自动化验证机制,可方便的实现联动验证和自动完成等操作,使用该系统只需要做简单的属性配置即可实现验证和关联元素验证。
本发明实现表单自动化验证及多系统间通讯的方法及系统生成的表单部分由NativeCode实现,部分代码由html或js实现,采用混合开发模式,即自动化验证及多系统间通讯的方法,自动化验证减少了编码量,而多系统通讯解决了浏览器禁止跨域请求的安全限制为表单提供较好的操作体验和开发效率。
本发明实现表单自动化验证及多系统间通讯的方法及系统生成的表单通过原生底层方便地实现了远程数据调用以及跨域数据的调用。
附图说明
图1是本发明实现表单自动化验证及多系统间通讯的方法及系统的流程示意图;
图2为所述元素响应用户操作事件验证方法流程图;
图3为所述元素关联事件响应验证方法流程图;
图4为所述提交表单验证方法流程图;
图5为所述表单调用流程图。
具体实施方式
以下参照附图及实施例对本发明进行详细的说明:
实施例1:
一种实现表单自动化验证及多系统间通讯的方法,实施该方法的系统包括服务器端和用户端,所述方法包括如下步骤:
服务器端创建一个html表单,抽取所述html表单内的数据,将所述html表单转换为与设备和显示无关的数据结构;
服务器端读取所述数据结构,在所述html表单的设置面板中绘制表单域的基本参数,通过自身实现的方式重新绘制表单到显示容器;
用户端点击表单元素;并将点击表单元素触发事件发送至服务器端;
服务器端接收用户端发送的点击表单元素触发事件;
服务器端根据所述点击表单元素触发事件将完成表单绘制的表单通过内置验证流程引擎实现多字段自动联合验证,并在显示容器中实现数据调用的设置和绑定;
服务器端将通过验证的表单放入显示容器;
用户端点击表单元素,并将点击表单元素触发事件发送至服务器端;
服务器端接收到用户端发送的点击表单元素触发事件;
服务器端通过内置网络服务实现字段数据的远程调用以及跨域调用,支持跨域数据的交互以及多设备间的信息同步
具体操作为:服务器端创建html表单进一步包括如下步骤:
创建一个html表单或者导入一个已有的html表单,将所述html表单放入系统模板库中,调用html表单模板完成所述表单的转换创建;
通过DOM Query方式获取所述html表单页面中的表单元素;
创建一个map结构,将所述通过DOM Query方式获取的所述表单元素添加到map结构中;所述表单元素包括:input、radio、checkbox、textarea、select、button、file。
本实施例中服务器端为软件开发商,用户端为办公软件使用者。
服务器端通过自身实现的方式绘制表单进一步包括如下步骤,服务器读取所述数据结构,在所述html表单的设置面板中绘制表单域的基本参数,通过自身实现的方式重新绘制表单到显示容器;该表单采用JSON作为描述语言,将显示及交互属性都通过对象节点进行记录,剥离html描述语句和css层叠样式控制,各平台依据记录的JSON结构实现各自平台的表单绘制,提高了表单的抽象程度,实现表单与平台无关的特性。
服务器端对表单实现多字段自动联合验证进一步包括如下步骤,服务器将完成表单绘制的表单通过内置验证流程引擎实现多字段自动联合验证,并在显示容器中实现数据调用的设置和绑定;如图1所示,步骤为:开始(101),服务器根据用户点击表单元素触发事件创建一个html表单(102),系统获取点击元素的Actionurl属性(103),判断是否不为空(104),如为空,系统则获取元素的Actionurl属性(108),如不为空,则执行formatStr方法处理Actionurl(105),并使用Actionurl发起数据调用指令(106),NativeCode接受指令(107),发起http请求并获得返回值(108),系统获取元素的valueformat属性(109),判断获取的valueformat属性是否需要处理(110),如果不需要处理,则直接获取value(112),如果需要处理,则执行formatStr方法处理valueformat(111),获取value(112),并执行valueformat验证(113),判断验证是否通过(114),如果不能通过,则提示错误(115);如果验证通过,则系统获取点击元素的bindfields属性(116),并判断该属性是否需要处理(117),如果需要处理,则根据bindfields查找关联元素(119),并返回系统获取元素的valueformat属性(109)进行重新处理,如果不需要处理,则程序结束(118)。本发明生成的表单具有较高的自动化验证机制,可方便的实现联动验证和自动完成等操作。
实现字段数据调用进一步包括如下步骤:,服务器将通过验证的表单放入显示容器,并通过内置网络服务实现字段数据的远程调用以及跨域调用,支持跨域数据的交互以及多设备间的信息同步。通常由于浏览器本身的安全设定,导致html表单无法跨域通讯。本发明的系统采用NativeCode的网络通讯功能实现了自身的网络安全沙盒,通过白名单的授权方式实现了安全的跨域数据交互。其实现原理是:1、表单系统产生数据调用的时候,系统会将网络请求转交给NativeCode。2、NativeCode接管网络请求,并对目标服务器发起数据请求,获取数据后。3、NativeCode通过系统接口将数据传递给表单系统。
所述服务器端通过自身实现的方式绘制表单进一步包括如下步骤:(1)服务器遍历所述map结构中的对象,为每个所述表单元素随机生成一个id;(2)服务器为每个所述表单元素创建空值属性;所述表单元素的空值属性包括验证字段、格式化字段、远程数据接口和联动字段等;(3)服务器获取所述map结构对象,并将获取的所述map结构对象绘制到表单设置面板中;元素的属性包括坐标(x、y)、宽度(width)、高度(height)、元素名(name)、元素类型(type)、元素值(value)、元素待选值(values)等;(4)服务器通过设置verifyformat字段设定验证方法;(5)服务器通过设置valueformat字段设定value值的格式化方法;(6)服务器通过设置bindfields字段实现联动计算;(7)步骤(1)-(6)生成表单的源数据,服务器将所述表单源数据存入数据库,以便程序随时读取。
所述服务器端对表单实现多字段自动联合验证进一步包括如下步骤:服务器读取所述表单源数据,并将所述表单源数据放入表单处理引擎,所述表单处理引擎实现界面渲染显示功能,服务器通过读取和解析表单数据实现各自平台的界面绘制;遍历所述表单元素,根据所述表单元素属性将所述表单元素绘制到用户操作界面;服务器对所述表单元素进行验证。
所述表单元素验证包括元素响应用户操作事件验证方法,元素关联事件响应验证方法和提交表单验证方法。
如附图2所示,所述元素响应用户操作事件验证具体包括如下步骤:
开始(201),服务器端实时监控系统的I/O操作系统接收到用户点击表单元素触发事件(202),服务器系统根据所述触发事件获取点击元素的verifyformat属性(203),服务器系统判断是否需要对获取的元素属性进行处理(204),若需要处理,则执行formatStr方法处理verifyformat属性(205),系统获取value值(206);若不需要处理,系统直接获取value值(206),服务器系统获取value值后执行verifyformat(207),返回验证结果(208)。
如附图3所示,所述服务器端对元素关联事件响应验证具体包括如下步骤:开始(301),元素响应用户操作事件验证对表单元素验证失败(302),系统获取用户点击表单元素的bindfields属性(303),服务器判断是否需要对所述元素的bindfields属性进行处理(304),若需要处理,则根据bindfields查找关联元素(305),若不需要处理,则提示错误信息(306),服务器根据bindfields查找关联元素,检测关联元素的valueformat属性(307),判断是否需要处理(308),若需要检测,则执行formatStr方法处理valueformat(309),并获取处理后的value(310),返回value值(311),若不需要检测,直接返回value值(311)。服务器赋值给所述valueformat属性的value项。
如附图4所示,所述提交表单验证具体包括如下步骤:开始(201),服务器接收到用户触发提交表单事件(402),表单程序遍历所述表单元素,检查表单元素的verifyformat属性(403),并判断是否需要处理(404),若需要处理,则执行验证方法(405),若不需要处理,则指向下一个元素(407),表单程序执行验证方法时询问验证是否通过(406),若通过验证,则指向下一个元素(407),若没有通过验证,则提示错误(408),指向下一个元素时检测是否所有的元素都已处理(409),若未处理,则返回到检查表单元素的verifyformat属性步骤(403),若已处理,则提交表单到服务器(410)并结束验证(411)。
如图5所示,所述实现字段数据调用进一步包括如下步骤:开始(501),服务器接收到用户点击表单元素触发事件(502),系统获取点击元素的Actionurl属性(503),判断是否需要对所述元素的Actionurl属性进行处理(504),若需要处理,则表单程序执行formatStr方法处理Actionurl(505),系统获取Actionurl的值(506);若不需要处理,则直接执行系统获取Actionurl的值(506),系统获取Actionurl的值后,服务器创建显示容器(507),加载Actionurl(508),获取用户选择的内容(509),服务器执行完毕,关闭容器,释放资源(510)。
实施例2:
一种实现表单自动化验证及多系统间通讯的方法,实施该方法的系统包括服务器端,所述方法包括如下步骤:
服务器端创建一个html表单,抽取所述html表单内的数据,将所述html表单转换为与设备和显示无关的数据结构;
服务器端读取所述数据结构,在所述html表单的设置面板中绘制表单域的基本参数,通过自身实现的方式重新绘制表单到显示容器;
服务器端接收用户端发送的点击表单元素触发事件;
服务器端根据所述点击表单元素触发事件将完成表单绘制的表单通过内置验证流程引擎实现多字段自动联合验证,并在显示容器中实现数据调用的设置和绑定;
服务器端将通过验证的表单放入显示容器;
服务器端接收到用户端发送的点击表单元素触发事件;
服务器端通过内置网络服务实现字段数据的远程调用以及跨域调用,支持跨域数据的交互以及多设备间的信息同步。
本实施例中服务器端为软件开发商。
实施例3:
一种实现表单自动化验证及多系统间通讯的方法,实施该方法的系统包括用户端,所述方法包括如下步骤:
用户端点击表单元素,并将点击表单元素触发事件发送至服务器端。
本实施例中用户端端为办公软件使用者。
实施例4:
一种实现表单自动化验证及多系统间通讯的系统,包括服务器端和用户端,所述服务器端包括:表单转换模块、表单解析模块、用户行为监控及表单元素触发事件接收模块、表单配置及验证模块、表单调用模块,所述用户端包括点击表单元素触发模块;所述表单转换模块用于创建html表单,并抽取所述html表单内的数据,将所述html表单转换为与设备和显示无关的数据结构;所述表单解析模块用于读取所述数据结构,在所述html表单的设置面板中绘制表单域的基本参数,通过自身实现的方式重新绘制表单到显示容器;所述用户行为监控及表单元素触发事件接收模块用于监控并接收用户端发送的点击表单元素触发事件;所述表单配置及验证模块用于将完成表单绘制的表单通过内置验证流程引擎实现多字段自动联合验证,并在显示容器中实现数据调用的设置和绑定;所述表单调用模块用于将通过验证的表单放入显示容器,并通过内置网络服务实现字段数据的远程调用以及跨域调用,支持跨域数据的交互以及多设备间的信息同步;所述点击表单元素触发模块用于点击表单元素,并将点击表单元素触发事件发送至服务器端;所述服务器端为企业服务器;所述用户端包括企业办公人员。
上述所有情况的组合排列皆落入本发明的保护范围内,符合本发明的发明精神。尽管具体地参考其优选实施例来示出并描述了本发明,但本领域的技术人员可以理解,可以做出形式和细节上的各种改变而不脱离所附权利要求书中所述的本发明的范围。以上结合本发明的具体实施例做了详细描述,但并非是对本发明的限制。凡是依据本发明的技术实质对以上实施例所做的任何简单修改,均仍属于本发明技术方案的范围。
Claims (12)
1.一种实现表单自动化验证及多系统间通讯的方法,实施该方法的系统包括服务器端和用户端,所述方法包括如下步骤:
服务器端创建一个html表单,抽取所述html表单内的数据,将所述html表单转换为与设备和显示无关的数据结构;
服务器端读取所述数据结构,在所述html表单的设置面板中绘制表单域的基本参数,通过自身实现的方式重新绘制表单到显示容器;
用户端点击表单元素;并将点击表单元素触发事件发送至服务器端;
服务器端接收用户端发送的点击表单元素触发事件;
服务器端根据所述点击表单元素触发事件将完成表单绘制的表单通过内置验证流程引擎实现多字段自动联合验证,并在显示容器中实现数据调用的设置和绑定;
服务器端将通过验证的表单放入显示容器;
用户端点击表单元素,并将点击表单元素触发事件发送至服务器端;
服务器端接收到用户端发送的点击表单元素触发事件;
服务器端通过内置网络服务实现字段数据的远程调用以及跨域调用,支持跨域数据的交互以及多设备间的信息同步;
所述服务器端创建html表单进一步包括如下步骤:
创建一个html表单或者导入一个已有的html表单,将所述html表单放入系统模板库中,调用html表单模板完成所述表单的转换创建;
通过DOM Query方式获取所述html表单页面中的表单元素;
创建一个map结构,将所述通过DOM Query方式获取的所述表单元素添加到map结构中;
所述服务器端通过自身实现的方式绘制表单进一步包括如下步骤:
(1)遍历所述map结构中的对象,为每个所述表单元素随机生成一个id;
(2)为每个所述表单元素创建空值属性;
(3)获取所述map结构对象,并将获取的所述map结构对象绘制到表单设置面板中;
(4)通过设置verifyformat字段设定验证方法;
(5)通过设置valueformat字段设定value值的格式化方法;
(6)通过设置bindfields字段实现联动计算;
(7)步骤(1)-(6)生成表单的源数据,将所述表单源数据存入数据库,以便程序随时读取。
2.根据权利要求1所述实现表单自动化验证及多系统间通讯的方法,其特征在于,所述服务器端对表单实现多字段自动联合验证进一步包括如下步骤:
系统读取所述表单源数据,将所述表单源数据放入表单处理引擎,表单处理引擎实现界面渲染显示功能,并通过读取和解析表单数据实现各自平台的界面绘制;
遍历所述表单元素,根据表单元素属性将表单元素绘制到显示界面;
对表单元素进行验证。
3.根据权利要求2所述实现表单自动化验证及多系统间通讯的方法,其特征在于:所述服务器端对表单元素进行验证包括元素响应用户操作事件验证、元素关联事件响应验证和提交表单验证。
4.根据权利要求3所述实现表单自动化验证及多系统间通讯的方法,其特征在于,所述元素响应用户操作事件验证进一步包括如下步骤:
用户端点击表单元素,并将点击表单元素触发事件发送至服务器端;
服务器端接收到用户端发送的点击表单元素触发事件;
服务器端根据点击表单元素触发事件获取点击元素的verifyformat属性;
服务器端判断是否需要对获取的元素属性进行处理,若需要处理,则执行formatStr方法处理verifyformat属性,获取value值;若不需要处理,直接获取value值;
服务器端获取value值后执行verifyformat;
服务器端向元素对象返回验证结果。
5.根据权利要求4所述实现表单自动化验证及多系统间通讯的方法,其特征在于,所述服务器端对元素关联事件响应验证进一步包括如下步骤:
表单程序为每个表单元素绑定用户端的操作行为;
元素响应用户操作事件验证对表单元素验证失败,系统获取点击元素的bindfields属性;
判断是否需要对所述元素的bindfields属性进行处理,若需要处理,则根据bindfields查找关联元素,若不需要处理,则提示错误信息;
根据bindfields查找关联元素,并判断是否需要检测关联元素的valueformat属性;若需要检测,则执行formatStr方法处理valueformat,并获取处理后的value,返回value值;若不需要检测,直接返回value值;
赋值给所述valueformat属性的value项。
6.根据权利要求3所述实现表单自动化验证及多系统间通讯的方法,其特征在于,所述提交表单验证进一步包括如下步骤:
用户端点击表单元素,并将点击表单元素触发事件发送至服务器端;
服务器端接收到用户端发送的点击表单元素触发事件;
表单程序遍历表单元素,检查表单元素的verifyformat属性,并判断是否需要处理,若需要处理,则执行验证方法,若不需要处理,则指向下一个元素;
表单程序执行验证方法时询问验证是否通过,若通过验证,则指向下一个元素,若没有通过验证,则提示错误;
指向下一个元素时检测是否所有的元素都已处理,若未处理,则返回到检查表单元素的verifyformat属性步骤;若已处理,则提交表单到服务器并结束验证。
7.根据权利要求1所述实现表单自动化验证及多系统间通讯的方法,其特征在于:所述表单元素包括:input、radio、checkbox、textarea、select、button、file。
8.根据权利要求1所述实现表单自动化验证及多系统间通讯的方法,其特征在于,所述表单元素包括表单属性,所述表单属性包括坐标、宽度、高度、元素名、元素类型、元素值、元素待选值。
9.根据权利要求1所述实现表单自动化验证及多系统间通讯的方法,其特征在于,所述表单元素的空值属性包括验证字段、格式化字段、远程数据接口和联动字段。
10.根据权利要求1所述实现表单自动化验证及多系统间通讯的方法,其特征在于,所述实现字段数据调用进一步包括如下步骤:
用户端点击表单元素,并将点击表单元素触发事件发送至服务器端;
服务器端接收到用户端发送的点击表单元素触发事件;
服务器端获取点击元素的Actionurl属性,判断是否需要对所述元素的Actionurl属性进行处理,若需要处理,则表单程序执行formatStr方法处理Actionurl,系统获取Actionurl的值;若不需要处理,则直接执行系统获取Actionurl的值;
服务器端获取Actionurl的值后,创建显示容器,加载Actionurl,获取用户端点击表单元素触发事件选择的内容;
服务器端执行完毕,关闭容器,释放资源。
11.根据权利要求1所述实现表单自动化验证及多系统间通讯的方法,其特征在于,所述服务器端包括软件开发商或企业服务器。
12.根据权利要求1所述实现表单自动化验证及多系统间通讯的方法,其特征在于,所述用户端包括办公软件使用者。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510817242 | 2015-11-23 | ||
CN2015108172424 | 2015-11-23 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105808701A CN105808701A (zh) | 2016-07-27 |
CN105808701B true CN105808701B (zh) | 2018-07-24 |
Family
ID=56466728
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610122592.3A Active CN105808701B (zh) | 2015-11-23 | 2016-03-03 | 实现表单自动化验证及多系统间通讯的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105808701B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107766307B (zh) * | 2016-08-18 | 2021-06-08 | 阿里巴巴集团控股有限公司 | 一种表单元素联动的方法和设备 |
CN106339441A (zh) * | 2016-08-22 | 2017-01-18 | 浪潮通用软件有限公司 | 一种表单调用方法、装置及系统 |
CN106372152B (zh) * | 2016-08-30 | 2020-07-07 | 美林数据技术股份有限公司 | 一种在线表单开发系统 |
CN106844617B (zh) * | 2017-01-18 | 2018-11-30 | 北京万方数据股份有限公司 | 一种数据存储方法及系统 |
CN109062870A (zh) * | 2018-06-29 | 2018-12-21 | 平安科技(深圳)有限公司 | 服务器、业务数据校验的方法及存储介质 |
CN109669944B (zh) * | 2018-11-30 | 2021-02-05 | 东软集团股份有限公司 | 表单修改方法、装置、存储介质和电子设备 |
CN110765746B (zh) * | 2019-10-15 | 2023-08-15 | 支付宝(杭州)信息技术有限公司 | 基于事件代理的表单自动生成方法和系统 |
CN114492337A (zh) * | 2020-11-12 | 2022-05-13 | 永中软件股份有限公司 | 基于JavaScript实现浏览器中点击组件生成表单的方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102360296A (zh) * | 2011-10-20 | 2012-02-22 | 北京金和软件股份有限公司 | 一种基于web的在线表单开发工具 |
CN103984547A (zh) * | 2014-05-14 | 2014-08-13 | 上海上讯信息技术股份有限公司 | 一种表单验证方法及系统 |
CN104899027A (zh) * | 2015-05-22 | 2015-09-09 | 国云科技股份有限公司 | 一种实现js通用表单验证的方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070192678A1 (en) * | 2004-03-26 | 2007-08-16 | Tang Weng S | Forms development platform |
-
2016
- 2016-03-03 CN CN201610122592.3A patent/CN105808701B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102360296A (zh) * | 2011-10-20 | 2012-02-22 | 北京金和软件股份有限公司 | 一种基于web的在线表单开发工具 |
CN103984547A (zh) * | 2014-05-14 | 2014-08-13 | 上海上讯信息技术股份有限公司 | 一种表单验证方法及系统 |
CN104899027A (zh) * | 2015-05-22 | 2015-09-09 | 国云科技股份有限公司 | 一种实现js通用表单验证的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105808701A (zh) | 2016-07-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105808701B (zh) | 实现表单自动化验证及多系统间通讯的方法及系统 | |
CN107992427B (zh) | 创建业务测试场景的方法、装置、设备及其存储介质 | |
CN107766344B (zh) | 一种模板渲染的方法、装置及浏览器 | |
CN103678120B (zh) | 基于建模的web应用自动化测试方法 | |
US20040107415A1 (en) | Web-interactive software testing management method and computer system including an integrated test case authoring tool | |
CN104391786B (zh) | 网页自动化测试系统及其方法 | |
EP1873706A1 (en) | Systems and methods for integrating services | |
US10901730B2 (en) | Identifying equivalent javascript events | |
CN113741898B (zh) | 表单生成方法、装置及设备 | |
US20070073702A1 (en) | Systems and methods for mapping text | |
CN106600082A (zh) | 业务系统中任务的处理方法、装置及业务体系构建系统 | |
CN103970773B (zh) | 一种网页的页面更新方法及装置 | |
JP5422589B2 (ja) | モジュール解析システム、モジュール解析方法及びモジュール解析プログラム | |
CN116339715A (zh) | 前端页面构建方法和装置、电子设备及存储介质 | |
KR101722161B1 (ko) | 웹 사이트의 사용성 분석 장치 및 이를 이용한 웹 사이트의 사용성 분석 방법 | |
CN113704672B (zh) | 基于浏览器插件的评论方法、浏览器插件及可读存储介质 | |
EP1674991A2 (en) | System and method for creating web services from an existing web site | |
CN117008890B (zh) | 扩展应用开发系统及方法 | |
CN115857956B (zh) | 多站点部署处理方法及系统 | |
CN115562670B (zh) | 页面配置方法、装置、电子设备及介质 | |
CN112286576B (zh) | 跨平台渲染方法、客户端及介质 | |
US20060010423A1 (en) | Variable namespaces and scoping for variables in an object model | |
JP2006209655A (ja) | システム開発支援方法及びシステム開発支援プログラム | |
JP2005122504A (ja) | Webアプリケーション開発支援装置及び開発支援方法 | |
Oemig et al. | Testing Tools |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |