表单处理方法、装置、电子设备和计算机存储介质

文档序号:1921176 发布日期:2021-12-03 浏览:4次 >En<

阅读说明:本技术 表单处理方法、装置、电子设备和计算机存储介质 (Form processing method and device, electronic equipment and computer storage medium ) 是由 陈明 于 2021-03-29 设计创作,主要内容包括:本发明实施例提出了一种表单处理方法、装置、电子设备和计算机存储介质,该方法包括:获取配置文件,配置文件表示待制作的表单的属性信息;将配置文件输入至渲染器;利用渲染器对所述配置文件进行渲染处理,得出待制作的表单的UI。(The embodiment of the invention provides a form processing method, a form processing device, electronic equipment and a computer storage medium, wherein the method comprises the following steps: acquiring a configuration file, wherein the configuration file represents attribute information of a form to be made; inputting the configuration file to a renderer; and rendering the configuration file by using a renderer to obtain a UI of the form to be made.)

表单处理方法、装置、电子设备和计算机存储介质

技术领域

本发明涉及计算机技术领域,涉及但不限于一种表单处理方法、装置、电子设备和计算机存储介质。

背景技术

在中后台项目中,会涉及到大量信息表单的提交,即用户填写表单,页面收集用户信息,然后提交给服务器,此类情况在企业资源计划(Enterprise Resource Planning,ERP)系统中尤为常见。

在相关技术中,针对各种不同的表单,均需要手动制定表单的模板并编写相应的代码,从而实现表单的提交;可以看出,如果要提交不同的表单,则一般需要重复的写提交表单的模板;在表单字段比较多时会造成需要些大量的模板,这样会让代码行数急剧膨胀,为代码的维护带来不便。

发明内容

本发明实施例期望提供表单处理的技术方案,可以解决相关技术中表单需要大量写模板造成文件体积膨胀的问题。

本发明实施例提供了一种表单处理方法,所述方法包括:

获取配置文件,所述配置文件表示待制作的表单的属性信息;

将所述配置文件输入至渲染器;

利用所述渲染器对所述配置文件进行渲染处理,得出所述待制作的表单的用户界面(User Interface,UI)。

在一些实施例中,所述待制作的表单的属性信息包括:所述表单的整体属性和/或所述表单中表单项的属性;

相应地,所述利用所述渲染器对所述配置文件进行渲染处理,得出所述待制作的表单的UI,包括:

根据所述表单的整体属性和/或所述表单中表单项的属性,对所述表单进行渲染,得到所述待制作的表单的UI。

在一些实施例中,所述表单项的属性包括自定义的校验规则。

在一些实施例中,所述表单项的属性包括与表单项对应的自定义的渲染函数。

在一些实施例中,所述表单项的属性包括指示信息,所述指示信息用于指示是否携带表单项的输入信息的清空按钮。

在一些实施例中,所述表单的整体属性包括以下至少一项:表单的展示形式、表单项的标签宽度、表单项的输入框尺寸。

本发明实施例还提供了一种表单处理装置,所述装置包括:

获取模块,用于获取配置文件,所述配置文件表示待制作的表单的属性信息;

第一处理模块,用于将所述配置文件输入至渲染器;

第二处理模块,用于利用所述渲染器对所述配置文件进行渲染处理,得出所述待制作的表单的UI。

在一些实施例中,所述待制作的表单的属性信息包括:所述表单的整体属性和/或所述表单中表单项的属性;

相应地,所述第二处理模块,用于利用所述渲染器对所述配置文件进行渲染处理,得出所述待制作的表单的UI,包括:

根据所述表单的整体属性和/或所述表单中表单项的属性,对所述表单进行渲染,得到所述待制作的表单的UI。

在一些实施例中,所述表单项的属性包括自定义的校验规则。

在一些实施例中,所述表单项的属性包括与表单项对应的自定义的渲染函数。

在一些实施例中,所述表单项的属性包括指示信息,所述指示信息用于指示是否携带表单项的输入信息的清空按钮。

在一些实施例中,所述表单的整体属性包括以下至少一项:表单的展示形式、表单项的标签宽度、表单项的输入框尺寸。

本发明实施例还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述任意一种表单处理方法。

本发明实施例还提供了一种计算机存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述任意一种表单处理方法。

本发明实施例提出的表单处理方法、装置、电子设备和计算机存储介质中,获取配置文件,配置文件表示待制作的表单的属性信息;将配置文件输入至渲染器;利用渲染器对所述配置文件进行渲染处理,得出待制作的表单的UI。可以看出,本发明实施例无需针对各个表单手动不同的模板,而是可以将表示表单的属性信息的配置文件输入至渲染器,就可以实现提交表单的渲染,即,本发明实施例通过一种表单的快速构建方式,解决了相关技术中表单需要大量写模板造成文件体积膨胀且不易维护的问题。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,而非限制本发明。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,这些附图示出了符合本发明的实施例,并与说明书一起用于说明本发明的技术方案。

图1为本发明实施例的表单处理方法的一个流程图;

图2为本发明实施例的表单处理方法的另一个流程图;

图3为本发明实施例的配置文件的代码示意图;

图4为本发明实施例的渲染器的代码示意图;

图5为本发明实施例中未在输入框进行输入时的空表单的UI示意图;

图6为本发明实施例中在表单的输入框输入数据时的表单UI示意图;

图7为本发明实施例中触发表单校验时的表单UI示意图;

图8为本发明实施例中按照两列表单的展示形式进行展示的表单的UI示意图;

图9为本发明实施例的表单处理装置的组成结构示意图;

图10为本发明实施例的电子设备的组成结构示意图。

具体实施方式

以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所提供的实施例仅仅用以解释本发明,并不用于限定本发明。另外,以下所提供的实施例是用于实施本发明的部分实施例,而非提供实施本发明的全部实施例,在不冲突的情况下,本发明实施例记载的技术方案可以任意组合的方式实施。

需要说明的是,在本发明实施例中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的方法或者装置不仅包括所明确记载的要素,而且还包括没有明确列出的其他要素,或者是还包括为实施方法或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个......”限定的要素,并不排除在包括该要素的方法或者装置中还存在另外的相关要素(例如方法中的步骤或者装置中的单元,例如的单元可以是部分电路、部分处理器、部分程序或软件等等)。

本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,C和/或D,可以表示:单独存在C,同时存在C和D,单独存在D这三种情况。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合。

例如,本发明实施例提供的表单处理方法包含了一系列的步骤,但是本发明实施例提供的表单处理方法不限于所记载的步骤,同样地,本发明实施例提供的表单处理装置包括了一系列模块,但是本发明实施例提供的表单处理装置不限于包括所明确记载的模块,还可以包括为获取相关信息、或基于信息进行处理时所需要设置的模块。

本发明实施例可以基于终端和/或服务器实现,这里,终端可以是瘦客户机、厚客户机、手持或膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统,等等。服务器可以是小型计算机系统﹑大型计算机系统和包括上述任何系统的分布式云计算技术环境,等等。

服务器等电子设备可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括例程、程序、目标程序、组件、逻辑、数据结构等等,它们执行特定的任务或者实现特定的抽象数据类型。计算机系统/服务器可以在分布式云计算环境中实施,分布式云计算环境中,任务是由通过通信网络链接的远程处理设备执行的。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。

本发明实施例提出了一种表单处理方法,图1为本发明实施例的表单处理方法的一个流程图,如图1所示,该流程可以包括:

步骤101:获取配置文件,配置文件表示待制作的表单的属性信息。

本发明实施例中,待制作的表单可以包括一个表单项,也可以包括多个表单项;示例性地,待制作的表单中的表单项可以是姓名、性别、年龄、日期等对应的表单项,在表单制作完成后,每个表单项可以包括标签(label)以及标签对应的输入框,其中,标签可以是上述姓名、性别、年龄或日期。

在一些实施例中,用户可以通过人机交互等方式向电子设备中输入配置文件。

在一些实施例中,待制作的表单的属性信息包括:待制作的表单的整体属性和/或待制作的表单中表单项的属性。

在一些实施例中,上述表单的整体属性可以反映表单的公共配置信息,示例性地,上述表单的整体属性可以包括以下至少一项:表单的展示形式、表单项的标签宽度(labelWidth)、表单项的输入框尺寸(size)。

示例性地,表单的展示形式用于体现表单如何进行展示,例如,表单的展示形式可以是一行一列,一行两列等。

示例性地,表单的标签宽度可以是默认值,例如,标签宽度的默认值可以是100px;示例性地,表单的标签宽度也可以与表单的标签的文字宽度自适应。

示例性地,表单项的输入框尺寸可以根据实际情况预先设置,例如,表单项的输入框尺寸可以是中号(medium)、小号(small)或微型(mini);在一些实施例中,表单项的输入框尺寸的默认值可以是小号。

可以理解地,通过设置待制作的表单的整体属性,便于用户控制表单的整体呈现方式。

在一些实施例中,上述待制作的表单中表单项的属性可以包括标签名、标签名对应的输入框的属性以及标签名对应的输入框的取值。这里,输入框的属性可以包括:输入框的类型或输入框的校验规则等,输入框的类型包括但不限于单选框、下拉列表、字符输入框等,输入框的校验规则用于表示输入框中的信息的校验方式。

在一些实施例中,不同表单项的属性可以分别进行配置。

在一些实施例中,标签名对应的输入框的取值可以从数据源中获取,数据源可以是通过通信接口获取的输入框的取值,也可以是用户通过人机交互方式输入的取值。

在一些实施例中,可以从数据源中获取标签名对应的输入框的默认取值,例如,标签名对应的输入框的默认取值可以是空值或其它默认值;在一些实施例中,在通过数据源获取标签名对应的输入框的默认取值,还可以通过数据源获取用户输入的取值,从而更新标签名对应的输入框的取值。

可以理解地,通过设置待制作的表单中表单项的属性,便于用户控制每个表单项的界面呈现方式。

步骤102:将配置文件输入至渲染器。

步骤103:利用渲染器对配置文件进行渲染处理,得出待制作的表单的UI。

这里,渲染器用于根据配置文件自动生成待制作的表单的UI;在一些实施例中,可以根据配置文件中表单的整体属性和/或表单中表单项的属性,对表单进行渲染,得到待制作的表单的UI。

如此,本发明实施例通过预先配置表单的整体属性和/或表单中表单项的属性,并将配置文件输入至渲染器,可以自动生成待制作的表单的UI。

在一些实施例中,本发明实施例的表单处理方法还可以通过图2所示的流程图进行表示,如图2所示,在将配置文件输入至渲染器后,可以通过渲染器生成待制作的表单的UI。

在一些实施例中,参照图2,待制作的表单的UI上可以呈现表单内容,表单内容可以包括表单项的标签以及标签对应的输入框等;在一些实施例中,待制作的表单的UI上可以呈现校验区,校验区用于表示UI上用于呈现输入框的取值对应的校验信息的区域;在一些实施例中,待制作的表单的UI上可以按钮区,按钮区的按钮可以根据实际需求预先设置,例如,按钮区的按钮可以包括保存按钮或返回按钮;按钮区的按钮也可以由用户进行自定义设置。

参照图2,在得出待制作的表单的UI后,用户可以通过UI上的按钮进行操作,例如,用户可以通过点击保存按钮提交表单,用户也可以通过返回按钮返回至前一界面。

示例性地,在终端的用户通过UI上的按钮进行操作后,终端可以生成用户操作请求,通过将该用户操作请求发送至服务器,可以使服务器对用户操作请求进行响应,并向终端回复响应信息。

在实际应用中,步骤101至步骤103可以基于电子设备的处理器实现,上述处理器可以为特定用途集成电路(Application Specific Integrated Circuit,ASIC)、数字信号处理器(Digital Signal Processor,DSP)、数字信号处理装置(Digital SignalProcessing Device,DSPD)、可编程逻辑装置(Programmable Logic Device,PLD)、现场可编程门阵列(Field Programmable Gate Array,FPGA)、中央处理器(Central ProcessingUnit,CPU)、控制器、微控制器、微处理器中的至少一种。

在相关技术中,如果要提交不同的表单,则一般需要重复的写提交表单的模板;在表单字段比较多时会造成需要些大量的模板;造成该问题的原因是:没有对提交表单的特性进行针对性分析;通常大多数提交表单的输入框类型都是固定的,单一文本框的情况非常常见,针对这种情况,在本发明实施例中,无需针对各个表单手动不同的模板,而是可以将表示表单的属性信息的配置文件输入至渲染器,就可以实现提交表单的渲染,即,本发明实施例通过一种表单的快速构建方式,解决了相关技术中表单需要大量写模板造成文件体积膨胀且不易维护的问题。

进一步地,本发明实施例提出了一种简化的提交表单的开发方式,可以通过配置文件自动关联表单的数据,用户只需要关注配置文件,并不需要关注UI的渲染,减少了维护成本和开发难度,有利于提高前端人员的开发效率。

在一些实施例中,上述表单项的属性可以包括自定义的校验规则。

可以看出,自定义的校验规则可以反映用户的校验需求,因而,通过向渲染器输入自定义的校验规则,可以在待制作的表单的UI的基础上按照用户需求进行对用户的输入信息进行校验,进而便于用户控制表单输入信息。

在一些实施例中,上述表单项的属性可以包括与表单项对应的自定义的渲染函数。

这里,自定义的渲染函数可以反映用户的渲染需求,与表单项对应的自定义的渲染函数用于表示表单项的渲染方式,因而,渲染器可以根据定义的渲染函数实现表单的渲染,符合用户的渲染需求。

在一些实施例中,上述表单项的属性可以包括指示信息,上述指示信息用于指示是否携带表单项的输入信息的清空按钮。

可以看出,指示信息可以是用户根据实际需求确定的信息,清空按钮为可选的按钮,因而,基于上述指示信息,渲染器可以确定是否渲染出清空按钮,从而符合实际的用户的需求。

在一些实施例中,表单的整体属性可以通过表1进行说明。

表1

表1可以表示表单的公共配置信息,表1中各个字段的描述可以是:

formName:表单的名称,默认为空。

columnNum:表单的展示形式。

labelWidth:表单项的标签宽度。

size:表单项的输入框尺寸。

formItem:表单项的属性,下面展开描述。

在一些实施例中,表单项的属性可以通过表2进行说明。

表2

表2中各个字段的描述可以是:

label:提交表单项的标签名。

prop:表示获取的数据源中对应表单项的取值,同时渲染器内部也会通过这个字段来构造出表单项绑定的属性,发送用户操作请求时会把相应的值当做入参发送。

valueType:表示表单项应该渲染的形式,默认为input标签;也可以通过rednerFormItem自定义为其它标签。

rules:表单项的校验规则,是否需要校验为必填项,校验规则可以表示支持输入格式,例如,可以支持英文、数字、中文、手机号、邮箱等基础校验格式,也支持用户自定义校验规则。

clearable:表单项输入框是否携带清空按钮,默认不携带。

render:自定义此表单项的渲染,在实际场景中,需要展示一些特殊的样式或者对数据进行一些没有覆盖到的场景处理。例如:在表单项中根据返回值展示一些特殊的UI部件。

renderFormItem:自定义表单项的UI部件。

在一些实施例中,渲染器的关键配置项可以通过表3进行说明。

表3

示例性地,渲染器的工作流程可以包括:

1)收集formItem项的prop字段,将收集的prop字段组成一个model对象。

2)自动根据valueType的值渲染对应的表单,并自动监听表单的更新(onChange)事件,每当表单的onChange事件执行后,拿到表单更新后的值赋值然后更新model里对应的prop。

3)渲染器内部提供一个renderForm方法,这个方法可以渲染出对应的UI部件,renderForm是渲染表单项,这个方法会内置两个按钮:保存、返回,同时支持用户自定义操作栏,并且会根据formItem的配置渲染表单;

valueEnum选项会根据用户所传枚举值渲染单选框、下拉列表等类型输入框的值;

valueFormat选项会根据用户传入,进行值的格式化;

rules选项会根据用户传入控制表单项的校验规则,渲染器可以提供表单全局校验方法,方便用户控制表单输入;如果遇到renderFormItem则会渲染此函数的返回值。

可以看出,本发明实施例只需要将配置文件传入渲染器,就可以自动的进行提交表单的渲染和字段关联,可以通过配置文件自动进行表单的构建和数据映射。

在一些实施例中,图3和图4分别示出了本发明实施例的配置文件和渲染器的代码示意图,基于图3和图4所示的代码示意图,在将配置文件输入至渲染器后,利用渲染器进行处理,可以得到图5至图7所示的渲染结果示意图,其中,图5表示未在输入框进行输入时的空表单的UI示意图,图5中各表单项的标签名分别为姓名、性别、年龄、日期、日期范围和文本区域;图6表示在表单的输入框输入数据时的表单UI示意图,图6中各表单项的标签名与图5相同。图7表示触发表单校验时的表单UI示意图,图7中各表单项的标签名与图5相同,图7中,姓名、性别、日期、日期范围、文本区域对应的校验信息分别为:姓名不能为空、性别不能为空、年龄不能为空、开始日期不能为空、日期范围不能为空以及文本区域不能为空。

可以看出,本发明实施例只需要写一个简单的配置文件就可以渲染出一个完整的提交表单,用户只需要在特定的应用程序接口(Application Programming Interface,API)下进行业务逻辑的处理。这样,既保证了代码风格的统一便于多人维护,由于减少了大量的模板编写,也极大的提升了开发效率。formItem项的render方法保证了用户自定义渲染的需求,提高了组织UI界面的灵活性。

图5至图7所示的渲染结果的展示形式为一列表单,对于同样的表单内容也可以按照两列表单的展示形式进行展示,例如,图8为按照两列表单的展示形式进行展示的表单的UI示意图。

也就是说,本发明实施例可以按照配置文件中表单的展示形式渲染出表单的UI,有利于按照用户自身需求生成表单的UI。

在前述实施例提出的表单处理方法的基础上,本发明实施例还提出了一种表单处理装置。

图9为本发明实施例的表单处理装置的组成结构示意图,如图9所示,该装置可以包括:

获取模块901,用于获取配置文件,所述配置文件表示待制作的表单的属性信息;

第一处理模块902,用于将所述配置文件输入至渲染器;

第二处理模块903,用于利用所述渲染器对所述配置文件进行渲染处理,得出所述待制作的表单的UI。

在一些实施例中,所述待制作的表单的属性信息包括:所述表单的整体属性和/或所述表单中表单项的属性;

相应地,所述第二处理模块903,用于利用所述渲染器对所述配置文件进行渲染处理,得出所述待制作的表单的UI,包括:

根据所述表单的整体属性和/或所述表单中表单项的属性,对所述表单进行渲染,得到所述待制作的表单的UI。

在一些实施例中,所述表单项的属性包括自定义的校验规则。

在一些实施例中,所述表单项的属性包括与表单项对应的自定义的渲染函数。

在一些实施例中,所述表单项的属性包括指示信息,所述指示信息用于指示是否携带表单项的输入信息的清空按钮。

在一些实施例中,所述表单的整体属性包括以下至少一项:表单的展示形式、表单项的标签宽度、表单项的输入框尺寸。

上述获取模块901、第一处理模块902和第二处理模块903均可由位于电子设备中的处理器实现,上述处理器为ASIC、DSP、DSPD、PLD、FPGA、CPU、控制器、微控制器、微处理器中的至少一种。

另外,在本实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。

所述集成的单元如果以软件功能模块的形式实现并非作为独立的产品进行销售或使用时,可以存储在一个计算机可读取存储介质中,基于这样的理解,本实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或processor(处理器)执行本实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。

具体来讲,本实施例中的一种表单处理方法对应的计算机程序指令可以被存储在光盘,硬盘,U盘等存储介质上,当存储介质中的与一种表单处理方法对应的计算机程序指令被一电子设备读取或被执行时,实现前述实施例的任意一种表单处理方法。

基于前述实施例相同的技术构思,参见图10,其示出了本发明实施例提供的一种电子设备1000,可以包括:存储器1001、处理器1002及存储在存储器1001上并可在处理器1002上运行的计算机程序;其中,

存储器1001,用于存储计算机程序和数据;

处理器1002,用于执行所述存储器中存储的计算机程序,以实现前述实施例的任意一种表单处理方法。

在实际应用中,上述存储器1001可以是易失性存储器(volatile memory),例如RAM;或者非易失性存储器(non-volatile memory),例如ROM,快闪存储器(flash memory),硬盘(Hard Disk Drive,HDD)或固态硬盘(Solid-State Drive,SSD);或者上述种类的存储器的组合,并向处理器1002提供指令和数据。

上述处理器1002可以为ASIC、DSP、DSPD、PLD、FPGA、CPU、控制器、微控制器、微处理器中的至少一种。

在一些实施例中,本发明实施例提供的装置具有的功能或包含的模块可以用于执行上文方法实施例描述的方法,其具体实现可以参照上文方法实施例的描述,为了简洁,这里不再赘述

上文对各个实施例的描述倾向于强调各个实施例之间的不同之处,其相同或相似之处可以互相参考,为了简洁,本文不再赘述

本申请所提供的各方法实施例中所揭露的方法,在不冲突的情况下可以任意组合,得到新的方法实施例。

本申请所提供的各产品实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的产品实施例。

本申请所提供的各方法或设备实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的方法实施例或设备实施例。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。

上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,这些均属于本发明的保护之内。

19页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:系统软件生成方法、装置、电子设备及存储介质

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!