CN109284198A - 一种校验数据的方法和装置 - Google Patents
一种校验数据的方法和装置 Download PDFInfo
- Publication number
- CN109284198A CN109284198A CN201710599354.6A CN201710599354A CN109284198A CN 109284198 A CN109284198 A CN 109284198A CN 201710599354 A CN201710599354 A CN 201710599354A CN 109284198 A CN109284198 A CN 109284198A
- Authority
- CN
- China
- Prior art keywords
- rule
- data
- verification
- verified
- checker
- 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
- 238000000034 method Methods 0.000 title claims abstract description 63
- 238000012795 verification Methods 0.000 claims abstract description 164
- 230000008569 process Effects 0.000 claims description 16
- 238000004590 computer program Methods 0.000 claims description 9
- 238000004458 analytical method Methods 0.000 claims description 6
- 238000011161 development Methods 0.000 abstract description 15
- 238000005516 engineering process Methods 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 20
- 238000012986 modification Methods 0.000 description 10
- 230000004048 modification Effects 0.000 description 10
- 238000012545 processing Methods 0.000 description 10
- 238000013524 data verification Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- 230000000694 effects Effects 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 4
- 238000010200 validation analysis Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 238000007667 floating Methods 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000010276 construction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0706—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种校验数据的方法和装置,涉及计算机技术领域。该方法的一具体实施方式包括:解析配置文件以得到校验规则;调用与所述校验规则相对应的校验器;根据所述校验规则使用所述校验器对待校验数据进行校验。该实施方式能够实现校验器的共享使用,从而降低校验逻辑的开发成本。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种校验数据的方法和装置。
背景技术
在软件系统中,数据校验是必备的功能,通过对数据的有效性进行验证,可以初步排除不符合要求的数据,既能够规范数据的内容,还可以达到提示、纠错的效果。以表单数据校验为例,当用户在表单的输入域输入数据后,客户端或者服务器端会启动校验程序,对输入数据的有效性进行校验,根据校验结果和反馈的提示信息等内容,用户可以得知输入数据是否符合表单各输入域的要求,还能够及时发现输入错误。可见,数据校验对于规范数据格式、优化数据存储结构起到了非常重要的作用。
现有的校验数据方法,会针对待校验数据需要满足的校验逻辑编写校验器,并在校验器中保存校验规则和生成提示信息的规则等数据。
在实现本发明过程中,发明人发现现有技术中至少存在如下问题:
现有的校验数据的方法中,校验规则与校验器整合在一起,对于不同类型的待校验数据需要专门编写校验器以及相应的校验规则,造成重复开发,提高了开发成本。
发明内容
有鉴于此,本发明实施例提供一种校验数据的方法和装置,能够实现校验器的共享使用,从而降低校验逻辑的开发成本。
为实现上述目的,根据本发明实施例的一个方面,提供了一种校验数据的方法,包括:
解析配置文件以得到校验规则;
调用与所述校验规则相对应的校验器;
根据所述校验规则使用所述校验器对待校验数据进行校验。
可选的,调用与所述校验规则相对应的校验器的步骤包括:
选择与所述校验规则相对应的校验器,将所述校验规则传递至所述校验器。
可选的,所述方法还包括:
解析配置文件以得到提示信息规则;
在根据所述校验规则使用所述校验器对待校验数据进行校验的步骤后,根据校验的结果和所述提示信息规则生成提示信息。
可选的,所述方法还包括:
在根据校验的结果和所述提示信息规则生成提示信息的步骤后,
若确定所述待校验数据不符合所述校验规则,则停止对其他待校验数据进行校验;或者,
若确定所述待校验数据不符合所述校验规则,则保存所述待校验数据的提示信息,然后继续对其他待校验数据进行校验;
反馈校验过程中生成的全部提示信息。
可选的,所述方法还包括:
在调用与所述校验规则相对应的校验器的步骤前,从规则库中获取与待校验数据相对应的所述校验规则;所述规则库存储有解析所述配置文件后得到的全部校验规则。
为实现上述目的,根据本发明实施例的另一个方面,提供了一种校验数据的装置,包括:
配置解析模块,用于解析配置文件以得到校验规则;
调度模块,用于调用与所述校验规则相对应的校验器;
校验模块,用于根据所述校验规则使用所述校验器对待校验数据进行校验。
可选的,所述调度模块还用于选择与所述校验规则相对应的校验器,将所述校验规则传递至所述校验器。
可选的,所述装置还包括提示信息生成模块;
所述配置解析模块还用于解析配置文件以得到提示信息规则;所述提示信息生成模块用于根据校验的结果和所述提示信息规则生成提示信息。
可选的,所述装置还包括:
提示信息反馈模块,用于在确定所述待校验数据不符合所述校验规则后,停止对其他待校验数据进行校验;或者,用于在确定所述待校验数据不符合所述校验规则后,保存所述待校验数据的提示信息,然后继续对其他待校验数据进行校验;还用于反馈校验过程中生成的全部提示信息。
可选的,所述装置还包括:
校验规则获取模块,用于从规则库中获取与待校验数据相对应的所述校验规则;所述规则库存储有解析所述配置文件后得到的全部校验规则。
为实现上述目的,根据本发明实施例的再一个方面,提供了一种校验数据的电子设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器至少实现:
解析配置文件以得到校验规则;
调用与所述校验规则相对应的校验器;
根据所述校验规则使用所述校验器对待校验数据进行校验。
为实现上述目的,根据本发明实施例的又一个方面,提供一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时至少实现:
解析配置文件以得到校验规则;
调用与所述校验规则相对应的校验器;
根据所述校验规则使用所述校验器对待校验数据进行校验。
上述发明中的一个实施例具有如下优点或有益效果:因为采用在进行数据校验时,根据校验规则选择对应校验器,以及使用所述校验器根据所述校验规则对待校验数据进行校验的技术手段,实现了校验器与校验规则的分离,使得校验器或者校验规则均可共享使用,所以克服了现有的校验方法存在的重复开发率高、开发成本高的技术问题,进而达到降低开发成本的技术效果。
上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
图1是根据本发明实施例的校验数据的方法的主要步骤的示意图;
图2是本发明实施例提供的校验数据的方法应用于表单校验场景时的校验系统的架构示意图;
图3是本发明实施例本发明实施例提供的校验数据的方法应用于表单校验场景时的校验系统中规则库的存储结构示意图;
图4是本发明实施例本发明实施例提供的校验数据的方法应用于表单校验场景时的校验系统执行单域校验时的主要步骤的示意图;
图5是本发明实施例本发明实施例提供的校验数据的方法应用于表单校验场景时的校验系统执行全域校验时的主要步骤的示意图;
图6是根据本发明实施例的校验数据的装置的主要模块的示意图;
图7是本发明实施例可以应用于其中的示例性系统架构图;
图8是适于用来实现本发明实施例的终端设备或服务器的计算机系统的结构示意图。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
图1是根据本发明实施例的校验数据的方法的主要步骤的示意图。
如图1所示,根据本发明实施例提供的校验数据的方法,包括:
S10,解析配置文件以得到校验规则。所述配置文件中包含有所述校验规则,将校验规则保存为配置文件可以便于管理,避免校验规则分散在各处而在修改时引起不对应的问题。所述配置文件可以是使用格式化语言进行记录的文件,例如使用XML或JSON等语言记录的文件等。
S11,调用与所述校验规则相对应的校验器。本实施例中的校验器只包含校验逻辑,而不包含校验规则。例如,在某个输入域中,输入内容需要满足规则“字符串长度大于2字符且小于10字符”,则该输入域对应的校验器只包含校验“字符串长度大于m且小于n”这一事件的校验逻辑,m与n均为数值未定的变量。因此该校验器无法独立完成校验任务,而需要与校验规则配合。
S12,根据所述校验规则使用所述校验器对待校验数据进行校验。在调用校验器后,根据校验器包含的校验逻辑以及校验规则即可对待校验数据执行校验。
应当理解,本实施例中的校验规则和校验器均可以被多种不同的待校验数据复用共享;例如在校验“用户名长度大于2字符且小于10字符”以及“密码长度大于6位且小于12位”这两种数据时,均可以使用包含“字符串长度大于m且小于n”这一校验逻辑的校验器。
此外,对于一项待校验数据而言,也可以使用多个校验规则和多个校验器进行校验;例如对于用户名输入域,一方面要校验字符串长度,另一方面还要校验输入内容是否有违规字符。上述步骤S10-S12中没有对校验规则和校验器的数量进行限定,因此应当理解上述步骤S10-S12可以应用于至少使用一项校验规则、调用一个校验器进行数据校验的场景,对于使用多项校验规则或调用多个校验器进行校验的场景,则可以通过多次执行步骤S10-S12等方式完成校验过程。
从上面所述可以看出,本实施例提供的校验数据的方法因为采用在进行数据校验时,根据校验规则选择对应校验器,以及使用所述校验器根据所述校验规则对待校验数据进行校验的技术手段,实现了校验器与校验规则的分离,使得校验器或者校验规则均可共享使用,所以克服了现有的校验方法存在的重复开发率高、开发成本高的技术问题,进而达到降低开发成本的技术效果。
在一些可选的实施例中,S11,调用与所述校验规则相对应的校验器的步骤包括:
选择与所述校验规则相对应的校验器,将所述校验规则传递至所述校验器。
根据前一实施例的说明,所述校验器只包含校验逻辑,而不包含校验规则。因此在进行数据校验时,需要将校验规则传递至校验器,并使用具备校验规则的校验器执行校验。具体来说,所述“传递”的过程可以是使用校验规则内的具体数值为校验器中的变量进行赋值。
根据本实施例提供的方法可以看出,本发明实施例中的校验器与校验规则是相对独立的,只有在需要执行校验任务时,才需要将校验规则传递给校验器。因此无论是对于校验器的校验逻辑进行的修改,还是对校验规则进行的修改,都不会对另外一方造成影响,从而降低了校验工具的耦合度,提高了程序的稳定性和可修改性。
在一些可选的实施例中,所述方法还包括:
解析配置文件以得到提示信息规则;
在S12,根据所述校验规则使用所述校验器对待校验数据进行校验的步骤后,根据校验的结果和所述提示信息规则生成提示信息。
提示信息规则是规定了如何生成提示信息的规则。例如,提示信息规则可以规定在校验完毕且全部待校验数据均通过校验后,发送“校验成功”的提示信息;或者在任意待校验数据未通过校验时,发送未通过的待校验数据以及未通过原因。
提示信息规则可以与校验规则存储在同一配置文件中,并且由于各校验规则通常对应于至少一项提示信息规则,因此可以将校验规则和提示信息规则相互关联地进行存储。当然,将提示信息规则存储在额外的配置文件(即通过两个不同的配置文件分别存储校验规则和提示信息规则)中,并通过建立外部的映射关系将校验规则和提示信息规则进行对应,也是本实施例方法的一种可选的实现方式。
在本实施例的一些可选的实施方式中,在根据校验的结果和所述提示信息规则生成提示信息的步骤后,执行:
策略(1),若确定所述待校验数据不符合所述校验规则,则停止对其他待校验数据进行校验;或者,
策略(2),若确定所述待校验数据不符合所述校验规则,则保存所述待校验数据的提示信息,然后继续对其他待校验数据进行校验;
在执行上述策略(1)或策略(2)后,反馈校验过程中生成的全部提示信息。
当发现待校验数据不符合校验规则,并生成了相应提示信息后,本实施方式提供了两种可选的后续处理策略:
策略(1):立即停止校验过程,不再对其他待校验数据进行校验,并等待用户的指令。其中用户的指令可以为例如“接受到新的待校验数据”、“检测到原待校验数据发生更新”等。在接收到用户指令后,则重新开始对全部待校验数据进行校验。
策略(2):保存不符合校验规则的待校验数据对应的提示信息,继续对其他待校验数据进行校验。在根据策略(2)完成对全部待校验数据的处理后,可以得到全部不符合校验规则的待校验数据对应的提示信息。
根据策略(1),只要任意待校验数据没有不符合校验规则,就会直接反馈提示信息,用户可以尽快获知输入的数据是否符合校验规则;例如在填写表单时,当用户填写完毕一项输入域的内容后,若输入内容不符合校验规则,根据策略(1)会直接反馈提示输入错误的提示信息,实时性较好。
根据策略(2),会在全部待校验数据均校验完毕后,统一反馈提示信息。与策略(1)相比,策略(2)的实时性略有不足,但是由于不需要反复进行提示信息的反馈,可以节约一定系统资源。
在一些可选的实施例中,所述方法还包括:
在S11,调用与所述校验规则相对应的校验器的步骤前,从规则库中获取与待校验数据相对应的所述校验规则;所述规则库存储有解析所述配置文件后得到的全部校验规则。
在解析完毕配置文件后,会得到配置文件中包含的全部校验规则,这些校验规则被存储在一个空间内以备取用,这一空间即为本实施例中的“规则库”,所述规则库可以存放在数据库中,也可以存放在内存中以提高调用速度。只要配置文件中的校验规则数量不少于2个,就需要根据待校验数据选择和待校验数据类型相匹配的校验规则来完成后续的校验步骤。
为了对本发明公开的校验数据的方法进行进一步说明,提供一个本发明方法应用于表单校验场景的实施例。
表单验证是较为常见的数据验证的使用场景。例如对于用户的注册信息、登录信息等内容的验证都属于表单验证的范畴。表单包含输入域,待校验数据即为用户在输入域中录入的信息,内容较为复杂,包含了汉字、字母、数字、符号甚至文件等多项内容,因此需要配置优化的校验系统对其进行校验,以提高校验的效率。
对于现有的表单中每一个表单输入域,都需要通过编写程序来实现有效性校验,但表单验证中,很多校验逻辑是共用的,只是校验的规则不一样(比如:用户名长度为8~32,密码长度为8~16,都可以用一个字符串长度验证逻辑来实现,只是验证的取值范围不同),没有抽离出共性,需要重复开发,造成开发成本浪费;另外由于校验逻辑散落在系统的各个功能模块,造成系统维护成本较高,同时也使得整个系统表单校验流程不规范,错误提示信息用语不规范。
本实施例的系统可以解决现有的表单验证中的上述问题,下面结合附图对本实施例的校验系统进行说明。
图2是本发明实施例提供的校验数据的方法应用于表单校验场景时的校验系统的架构示意图。
如图2所示,本实施例将表单的校验逻辑和校验规则进行独立,提取出表单校验器,通过表单校验器实现校验逻辑共享,并结合校验规则来检查某个具体的表单输入域是否正确。以配置文件的方式,指定表单输入域要使用的校验器、校验规则和错误提示信息生成规则。同时提供校验调度器,根据配置文件,调用相关的校验器,进行有效性校验,并返回处理结果。本实施例提供的校验系统200包括配置加载器210、调度器220、校验器230和规则库240,其中:
配置加载器210用于读取、加载配置文件250,从配置文件250中解析出表单校验的配置信息,解析出每个表单的各个输入域要用到的校验器230和校验规则;配置信息中存储的内容包含表单的校验规则,校验器使用校验规则对表单的输入内容进行校验。并将校验规则写入到规则库240中。此外还从配置文件250中加载要使用的调度器230,再进行调度器230初始化。配置加载器210可以在系统启动的时候调用。
调度器220用于接收和解析表单数据,并调用校验器230进行表单各输入域的有效性校验。调度器220先根据表单名称和输入域名称,获取校验规则,并根据校验规则调用对应的校验器230。然后校验器根据对应的校验规则进行数据有效性校验,并返回校验结果数据和提示信息。调度器包括全域校验调度器和单域校验调度器:
全域校验调度器:将表单的所有输入域校验完毕之后,再返回校验结果。只要有一个输入域数据未校验通过,整个校验过程都不通过。若有多个输入域输入的数据是非法的,在返回的错误提示信息中,分别针对每个输入域进行错误提示。后面将详细说明全域校验的流程;
单域校验调度器:将表单的输入域一个个的进行校验,若表单有多个输入域,根据提交的数据先后顺序进行校验,若遇到校验不通过的情况,则立即返回校验结果和该输入域的错误提示信息,待数据修改正确再次提交后,才进行下一个输入域的验证。后面将详细说明单域校验的流程。
校验器230用于根据校验规则进行数据有效性校验,供调度器220调用。调度器220调用校验器230时,会传递校验规则和错误提示信息生成规则,校验器230根据传入的规则进行校验,当校验失败时,根据规则组装生成错误提示信息,随着校验结果一起返回给调度器220。下面简要列出几个校验器:
整数校验器:校验输入的内容否为整数;
浮点数校验器:校验输入的内容是否为浮点数;
字符串长度校验器:校验输入的字符串长度是否在某个范围内容;
IP校验器:校验输入的内容是否是合法的IP地址;
邮件校验器:校验输入的内容是否是一个合法的邮件地址;
除上述校验器外,程序开发者可以根据自己需求,扩展更多的校验器。
规则库240为用于存储校验的空间,例如可以是硬盘中的一块空间或者内存中的一块空间,当配置加载器210从配置文件250中读取内容,解析配置文件250之后将数据存储在规则库240中,规则库包含的内容包括:系统使用的调度器类型(全域校验调度器或单域校验调度器),表单各输入域所用到的校验器、校验规则、错误提示信息生成规则。
图3是本发明实施例本发明实施例提供的校验数据的方法应用于表单校验场景时的校验系统中规则库的存储结构示意图。如图所示,所述规则库240主要包括以下存储区域:
表单列表区241,用于存储表单名称的列表;例如可以包含名称Form1、Form2、……;
校验器区242,用于存储表单的各输入域与校验器的对应关系;对于一个表单名称,可以设置一个校验器区与其对应;校验器区内可以存储有例如Field1.validator.1的内容,用于表示输入域Field1和校验器validator.1对应;
校验规则区243,用于存储表单的各输入域对应的校验规则;对于一个表单名称,可以设置一个校验规则区与其对应;校验规则区可以存储有例如Field1.validator.1.rule的内容,用于表示输入域Field1和校验规则validator.1.rule对应;
错误提示信息生成规则区244,用于存储表单的各输入域对应的错误提示信息生成规则;错误提示信息生成规则区可以存储有例如Field1.validator.1.tips.rule的内容,用于表示输入域Field1和错误提示信息生成规则validator.1.tips.rules对应。
配置文件250存储有表单验证规则的配置信息,存储的结构可以是XML、JSON等记录格式。配置文件中指定了调度器类型,表单各输入域所用到的校验器、校验规则、错误提示信息生成规则。
图4是本发明实施例本发明实施例提供的校验数据的方法应用于表单校验场景时的校验系统执行单域校验时的主要步骤的示意图。
如图4所示,本实施例中单域校验的主要步骤包括:
S400,接收客户端提交的表单数据信息。数据内容包括:表单名称、表单各个输入域的名称和输入内容;
S401,解析表单数据信息,获得表单名称和各表单域信息;进一步,还可以生成表单要校验的输入域信息列表;
S402,从输入域列表中获取一个表单输入域的信息(包括:输入域名称、输入内容);
S403,根据表单名称、输入域名称从规则库中查询出表单的校验规则;还可以进一步获取对应的错误提示信息生成规则;
S404,调度器加载一个校验规则,获取对应的校验器,并将校验规则和错误提示信息生成规则传递给校验器;
S405,校验器根据校验规则执行校验逻辑;
S406,判断校验是否通过;若通过则执行步骤S407,否则执行S411;
S407,检查对于该表单域,是否还有其他校验规则需要校验;若有,则执行步骤S403,否则执行步骤S408;
S408,检查该表单中是否还有其他表单域需要校验;若有,则执行步骤S402,否则执行步骤S409;
S409,执行业务处理逻辑,例如将表单数据保存至数据库等;
S410,返回处理结果至客户端;
S411,根据错误提示信息生成规则组装错误提示信息;
S412,提示用户处理失败,并显示该输入域的错误提示信息。
在步骤S410或者S412执行完毕后,完成对一个表单的数据校验。
从上述单域校验的步骤可以看出,在执行单域校验时,一旦有表单输入域的数据没有通过校验,则会立刻返回错误提示信息,不再进行后续校验步骤,反馈速度快。
图5是本发明实施例本发明实施例提供的校验数据的方法应用于表单校验场景时的校验系统执行全域校验时的主要步骤的示意图。
如图4所示,本实施例中全域校验的主要步骤包括:
S500,接收客户端提交的表单数据信息。数据内容包括:表单名称、表单各个输入域的名称和输入内容;
S501,解析表单数据信息,获得表单名称和各表单域信息;进一步,还可以生成表单要校验的输入域信息列表;
S502,从输入域列表中获取一个表单输入域的信息(包括:输入域名称、输入内容);
S503,根据表单名称、输入域名称从规则库中查询出表单的校验规则;还可以进一步获取对应的错误提示信息生成规则;
S504,调度器加载一个校验规则,获取对应的校验器,并将校验规则和错误提示信息生成规则传递给校验器;
S505,校验器根据校验规则执行校验逻辑;
S506,判断校验是否通过;若通过则执行步骤S507,否则执行S512;
S507,检查对于该表单域,是否还有其他校验规则需要校验;若有,则执行步骤S503,否则执行步骤S508;
S508,检查该表单中是否还有其他表单域需要校验;若有,则执行步骤S502,否则执行步骤S509;
S509,判断校验结果标识是否为不通过;若是则执行步骤S516,否则执行步骤S510;
S510,执行业务处理逻辑,例如将表单数据保存至数据库等;
S511,返回处理结果至客户端;
S512,根据错误提示信息生成规则组装错误提示信息;在步骤S512后,还可以进一步保存错误提示信息;
S513,获取校验结果标识;校验结果标识是与本次校验过程对应的标识,用于标识校验中是否存在未校验通过的表单域;例如可以用“0”值来标识全部表单域均校验通过,即总体结果为“通过”,用“1”值来标识存在没有通过校验的表单域,即总体结果为“不通过”;
S514,判断校验结果标识是否为不通过;若是,则执行步骤S507,否则执行步骤S515;
S515,修改校验结果标识为不通过;
S516,提示用户校验失败,并显示每个输入域的错误提示信息。
在步骤S511或者S516执行完毕后,完成对一个表单的数据校验。
从上述全域校验的步骤可以看出,在执行全域校验时,如果发现有表单输入域的数据没有通过校验,则不会立刻返回错误提示信息,而是组装错误提示信息然后保存,并通过修改校验结果标识以标记本次校验过程出现了未通过的数据。在对全部输入域的数据完成校验后,再根据校验结果标记确定表单校验是否成功,并在失败时反馈全部错误提示信息。
图6是根据本发明实施例的校验数据的装置的主要模块的示意图。
如图6所示,本发明实施例还提供一种校验数据的装置600,包括:
配置解析模块601,用于解析配置文件以得到校验规则;
调度模块602,用于调用与所述校验规则相对应的校验器;
校验模块603,用于根据所述校验规则使用所述校验器对待校验数据进行校验。
根据本实施例提供的装置,其中校验器与校验规则是相对独立的,只有在需要执行校验任务时,才需要将校验规则传递给校验器。因此无论是对于校验器的校验逻辑进行的修改,还是对校验规则进行的修改,都不会对另外一方造成影响,从而降低了校验工具的耦合度,提高了程序的稳定性和可修改性。
在一些可选的实施例中,所述调度模块602还用于选择与所述校验规则相对应的校验器,将所述校验规则传递至所述校验器。
在一些可选的实施例中,所述装置600还包括提示信息生成模块604;
所述配置解析模块601还用于解析配置文件以得到提示信息规则;所述提示信息生成模块604用于根据校验的结果和所述提示信息规则生成提示信息。
在一些可选的实施例中,所述装置600还包括:
提示信息反馈模块605,用于在确定所述待校验数据不符合所述校验规则后,停止对其他待校验数据进行校验;或者,用于在确定所述待校验数据不符合所述校验规则后,保存所述待校验数据的提示信息,然后继续对其他待校验数据进行校验;还用于反馈校验过程中生成的全部提示信息。
在一些可选的实施例中,所述装置600还包括:
校验规则获取模块606,用于从规则库中获取与待校验数据相对应的所述校验规则;所述规则库存储有解析所述配置文件后得到的全部校验规则。
图7示出了可以应用本发明实施例的校验数据的方法或校验数据的装置的示例性系统架构700。
如图7所示,系统架构700可以包括终端设备701、702、703,网络704和服务器705。网络704用以在终端设备701、702、703和服务器705之间提供通信链路的介质。网络704可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备701、702、703通过网络704与服务器705交互,以接收或发送消息等。终端设备701、702、703上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等(仅为示例)。
终端设备701、702、703可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器705可以是提供各种服务的服务器,例如对用户利用终端设备701、702、703所发送的各类数据进行校验的校验服务器。校验服务器可以对用户输入的各项数据进行校验,判断是否符合对应输入域的规定,然后将校验结果反馈给终端设备。
需要说明的是,本发明实施例所提供的校验数据的方法一般由服务器705执行,相应地,校验数据的装置一般设置于服务器705中。
应该理解,图7中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
根据本发明的实施例,本发明还提供了一种电子设备和一种可读存储介质。
图8是适于用来实现本发明实施例的终端设备或服务器的计算机系统的结构示意图。
下面参考图8,其示出了适于用来实现本发明实施例的终端设备的计算机系统800的结构示意图。图8示出的终端设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图8所示,计算机系统800包括中央处理单元(CPU)801,其可以根据存储在只读存储器(ROM)802中的程序或者从存储部分808加载到随机访问存储器(RAM)803中的程序而执行各种适当的动作和处理。在RAM 803中,还存储有系统800操作所需的各种程序和数据。CPU 801、ROM 802以及RAM 803通过总线804彼此相连。输入/输出(I/O)接口805也连接至总线804。
以下部件连接至I/O接口805:包括键盘、鼠标等的输入部分806;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分807;包括硬盘等的存储部分808;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分809。通信部分809经由诸如因特网的网络执行通信处理。驱动器810也根据需要连接至I/O接口805。可拆卸介质811,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器810上,以便于从其上读出的计算机程序根据需要被安装入存储部分808。
特别地,根据本发明的实施例,上文主要步骤的示意图描述的过程可以被实现为计算机软件程序。例如,本发明的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行主要步骤的示意图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分809从网络上被下载和安装,和/或从可拆卸介质811被安装。在该计算机程序被中央处理单元(CPU)801执行时,执行本发明的系统中限定的上述功能。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中,例如,可以描述为:一种处理器包括配置解析模块、调度模块和校验模块。其中,这些模块的名称在某种情况下并不构成对该模块本身的限定,例如,配置解析模块还可以被描述为“用于解析配置文件以得到校验规则的模块”。
作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:
解析配置文件以得到校验规则;
调用与所述校验规则相对应的校验器;
根据所述校验规则使用所述校验器对待校验数据进行校验。
根据本发明实施例的技术方案,因为采用在进行数据校验时,根据校验规则选择对应校验器,以及使用所述校验器根据所述校验规则对待校验数据进行校验的技术手段,实现了校验器与校验规则的分离,使得校验器或者校验规则均可共享使用,所以克服了现有的校验方法存在的重复开发率高、开发成本高的技术问题,进而达到降低开发成本的技术效果。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
Claims (12)
1.一种校验数据的方法,其特征在于,包括:
解析配置文件以得到校验规则;
调用与所述校验规则相对应的校验器;
根据所述校验规则使用所述校验器对待校验数据进行校验。
2.根据权利要求1所述的方法,其特征在于,调用与所述校验规则相对应的校验器的步骤包括:
选择与所述校验规则相对应的校验器,将所述校验规则传递至所述校验器。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
解析配置文件以得到提示信息规则;
在根据所述校验规则使用所述校验器对待校验数据进行校验的步骤后,根据校验的结果和所述提示信息规则生成提示信息。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
在根据校验的结果和所述提示信息规则生成提示信息的步骤后,
若确定所述待校验数据不符合所述校验规则,则停止对其他待校验数据进行校验;或者,
若确定所述待校验数据不符合所述校验规则,则保存所述待校验数据的提示信息,然后继续对其他待校验数据进行校验;
反馈校验过程中生成的全部提示信息。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在调用与所述校验规则相对应的校验器的步骤前,从规则库中获取与待校验数据相对应的所述校验规则;所述规则库存储有解析所述配置文件后得到的全部校验规则。
6.一种校验数据的装置,其特征在于,包括:
配置解析模块,用于解析配置文件以得到校验规则;
调度模块,用于调用与所述校验规则相对应的校验器;
校验模块,用于根据所述校验规则使用所述校验器对待校验数据进行校验。
7.根据权利要求6所述的装置,其特征在于,所述调度模块还用于选择与所述校验规则相对应的校验器,将所述校验规则传递至所述校验器。
8.根据权利要求6所述的装置,其特征在于,所述装置还包括提示信息生成模块;
所述配置解析模块还用于解析配置文件以得到提示信息规则;所述提示信息生成模块用于根据校验的结果和所述提示信息规则生成提示信息。
9.根据权利要求8所述的装置,其特征在于,所述装置还包括:
提示信息反馈模块,用于在确定所述待校验数据不符合所述校验规则后,停止对其他待校验数据进行校验;或者,用于在确定所述待校验数据不符合所述校验规则后,保存所述待校验数据的提示信息,然后继续对其他待校验数据进行校验;还用于反馈校验过程中生成的全部提示信息。
10.根据权利要求6所述的装置,其特征在于,所述装置还包括:
校验规则获取模块,用于从规则库中获取与待校验数据相对应的所述校验规则;所述规则库存储有解析所述配置文件后得到的全部校验规则。
11.一种校验数据的电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-5中任一所述的方法。
12.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-5中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710599354.6A CN109284198A (zh) | 2017-07-21 | 2017-07-21 | 一种校验数据的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710599354.6A CN109284198A (zh) | 2017-07-21 | 2017-07-21 | 一种校验数据的方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109284198A true CN109284198A (zh) | 2019-01-29 |
Family
ID=65185217
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710599354.6A Pending CN109284198A (zh) | 2017-07-21 | 2017-07-21 | 一种校验数据的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109284198A (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110070019A (zh) * | 2019-04-15 | 2019-07-30 | 南京孜博汇信息科技有限公司 | 位置编码表单数据有效性鉴别方法及装置 |
CN110334303A (zh) * | 2019-06-05 | 2019-10-15 | 平安科技(深圳)有限公司 | 表单校验方法、装置、计算机设备和存储介质 |
CN110390069A (zh) * | 2019-07-31 | 2019-10-29 | 中国工商银行股份有限公司 | 数据校验的方法、装置、计算设备以及介质 |
CN112187558A (zh) * | 2019-07-03 | 2021-01-05 | 腾讯科技(深圳)有限公司 | 数据校验方法、装置、电子设备 |
CN112613298A (zh) * | 2020-12-29 | 2021-04-06 | 北京嘀嘀无限科技发展有限公司 | 数据校验方法、系统、计算机程序产品和电子设备 |
CN113037787A (zh) * | 2019-12-09 | 2021-06-25 | 北京沃东天骏信息技术有限公司 | 一种数据处理方法和装置 |
CN113076285A (zh) * | 2021-03-05 | 2021-07-06 | 上海明略人工智能(集团)有限公司 | 用于上传数据文件的处理方法及系统 |
CN113778535A (zh) * | 2021-08-10 | 2021-12-10 | 济南浪潮数据技术有限公司 | 一种云主机操作校验的方法、系统、设备和存储介质 |
CN113779004A (zh) * | 2021-02-19 | 2021-12-10 | 北京沃东天骏信息技术有限公司 | 一种数据校验的方法和装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102799690A (zh) * | 2012-08-13 | 2012-11-28 | 南京莱斯信息技术股份有限公司 | 一种利用数据库技术校验网页输入的方法 |
US20130318486A1 (en) * | 2012-05-23 | 2013-11-28 | Lawrence SASAKI | Method and system for generating verification environments |
CN104360937A (zh) * | 2014-10-21 | 2015-02-18 | 福建富士通信息软件有限公司 | 一种智能参数校验装置 |
CN105426164A (zh) * | 2014-09-04 | 2016-03-23 | 北大方正集团有限公司 | 一种数据的校验方法及浏览器、服务器 |
-
2017
- 2017-07-21 CN CN201710599354.6A patent/CN109284198A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130318486A1 (en) * | 2012-05-23 | 2013-11-28 | Lawrence SASAKI | Method and system for generating verification environments |
CN102799690A (zh) * | 2012-08-13 | 2012-11-28 | 南京莱斯信息技术股份有限公司 | 一种利用数据库技术校验网页输入的方法 |
CN105426164A (zh) * | 2014-09-04 | 2016-03-23 | 北大方正集团有限公司 | 一种数据的校验方法及浏览器、服务器 |
CN104360937A (zh) * | 2014-10-21 | 2015-02-18 | 福建富士通信息软件有限公司 | 一种智能参数校验装置 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110070019A (zh) * | 2019-04-15 | 2019-07-30 | 南京孜博汇信息科技有限公司 | 位置编码表单数据有效性鉴别方法及装置 |
CN110334303A (zh) * | 2019-06-05 | 2019-10-15 | 平安科技(深圳)有限公司 | 表单校验方法、装置、计算机设备和存储介质 |
CN112187558A (zh) * | 2019-07-03 | 2021-01-05 | 腾讯科技(深圳)有限公司 | 数据校验方法、装置、电子设备 |
CN110390069A (zh) * | 2019-07-31 | 2019-10-29 | 中国工商银行股份有限公司 | 数据校验的方法、装置、计算设备以及介质 |
CN113037787A (zh) * | 2019-12-09 | 2021-06-25 | 北京沃东天骏信息技术有限公司 | 一种数据处理方法和装置 |
CN112613298A (zh) * | 2020-12-29 | 2021-04-06 | 北京嘀嘀无限科技发展有限公司 | 数据校验方法、系统、计算机程序产品和电子设备 |
CN113779004A (zh) * | 2021-02-19 | 2021-12-10 | 北京沃东天骏信息技术有限公司 | 一种数据校验的方法和装置 |
CN113076285A (zh) * | 2021-03-05 | 2021-07-06 | 上海明略人工智能(集团)有限公司 | 用于上传数据文件的处理方法及系统 |
CN113778535A (zh) * | 2021-08-10 | 2021-12-10 | 济南浪潮数据技术有限公司 | 一种云主机操作校验的方法、系统、设备和存储介质 |
CN113778535B (zh) * | 2021-08-10 | 2024-02-23 | 济南浪潮数据技术有限公司 | 一种云主机操作校验的方法、系统、设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109284198A (zh) | 一种校验数据的方法和装置 | |
CN108574604B (zh) | 测试方法和装置 | |
CN112187558B (zh) | 数据校验方法、装置、电子设备 | |
CN111290806A (zh) | 应用程序接口的调用方法、装置、计算机设备及存储介质 | |
US10452522B1 (en) | Synthetic data generation from a service description language model | |
CN112684968A (zh) | 页面展示方法、装置、电子设备和计算机可读介质 | |
CN109614327B (zh) | 用于输出信息的方法和装置 | |
CN112463729A (zh) | 数据文件的入库方法、装置、电子设备和介质 | |
CN111787041B (zh) | 用于处理数据的方法和装置 | |
CN112084114B (zh) | 用于测试接口的方法和装置 | |
CN113362111B (zh) | 一种内容发送方法、装置及电子设备 | |
CN113535565B (zh) | 一种接口用例生成方法、装置、设备和介质 | |
CN112783903B (zh) | 生成更新日志的方法和装置 | |
CN113918525A (zh) | 数据交换调度方法、系统、电子设备、介质及程序产品 | |
CN114625458A (zh) | 页面数据的处理方法、装置、电子设备和存储介质 | |
CN111273970B (zh) | 智能合约的调用方法、装置、系统、介质及电子设备 | |
CN112579428B (zh) | 接口测试的方法、装置、电子设备和存储介质 | |
CN114546370A (zh) | 一种数据对接方法及相关装置 | |
CN114691527A (zh) | 单元测试案例生成方法、装置、设备、介质和程序产品 | |
CN108170557B (zh) | 用于输出信息的方法和装置 | |
CN112905970A (zh) | 权限校验方法、装置、计算机可读存储介质及电子设备 | |
CN113312900A (zh) | 数据校验的方法和装置 | |
CN112261072A (zh) | 一种服务调用方法、装置、设备和存储介质 | |
CN113138912B (zh) | 一种接口测试方法和系统、客户端和服务端 | |
CN118069539B (zh) | 数据处理的方法、装置、电子设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190129 |