数据验证方法、装置、电子设备及计算机可读存储介质与流程

文档序号:21318461发布日期:2020-06-30 20:48阅读:126来源:国知局
数据验证方法、装置、电子设备及计算机可读存储介质与流程

本申请涉及网络应用技术领域,具体而言,本申请涉及一种表单数据验证方法、装置、电子设备及计算机可读存储介质。



背景技术:

互联网的大力发展促使互联网得到普遍使用,用户可以基于互联网享受各种类型的服务,如在线社交、网络购物等。在用户使用这些网络服务的过程中,会不可避免地涉及到表单验证的业务。基于表单方式提交数据到服务器,一般需要对用户输入的数据进行验证,只有该数据被验证有效后,该数据才能被进一步处理。更进一步的,表单验证可以保护用户的账号信息,还可以保护网站不受损。

现有的前台编码过程中对表单数据的验证提交应用的十分广泛,但是现有技术中的验证规则一般都是封装在庞大前台框架之中。引用这些庞大的前台框架来验证简单交互系统中的表单数据时,往往会出现验证不统一、验证复杂不易于维护等问题,并且引用庞大的前台框架,对于简单的交互系统而言,会浪费大量的网络资源,影响开发效率。



技术实现要素:

本申请提供了一种表单数据验证的方法、装置、电子设备及计算机可读存储介质,可以解决现有技术中表单数据验证开发效率慢,并且网络资源占用比例过高的问题。所述技术方案如下:

第一方面,提供了一种表单数据验证方法,该方法包括:

获取页面表单中待验证的数据对象,数据对象包括第一key;

根据待验证的数据对象的第一key,确定与待验证的数据对象相匹配的验证规则;

基于相匹配的验证规则,对待验证的数据对象进行验证,得到验证结果。

第二方面,提供了一种表单数据验证装置,该装置包括:

获取模块:用于获取页面表单中待验证的数据对象,数据对象包括第一key;

确定模块:用于根据所述待验证的数据对象的第一key,确定与待验证的数据对象相匹配的验证规则;

验证模块:用于基于相匹配的验证规则,对待验证的数据对象进行验证,得到验证结果。

第三方面,提供了一种电子设备,该电子设备包括:

一个或多个处理器;

存储器;

一个或多个应用程序,其中一个或多个应用程序被存储在存储器中并被配置为由一个或多个处理器执行,一个或多个程序配置用于执行如本申请的第一方面所示的表单数据验证方法对应的操作。

第四方面,提供了一种计算机可读存储介质,计算机可读存储介质用于存储计算机指令,当其在计算机上运行时,使得计算机可以实现本申请第一方面所示的表单数据验证方法。

本申请提供的技术方案带来的有益效果是:

本申请提供的技术方案通过获取页面表单中待验证的数据对象,数据对象包括第一key,并基于待验证的数据对象的第一key,确定与待验证的数据对象相匹配的验证规则,基于相匹配的验证规则,对待验证的数据对象进行验证,得到验证结果。本申请通过第一key确定待匹配的验证规则,使得整个验证过程简单化,便于维护,并且基于匹配的验证规则对待验证数据进行验证,可以节省网络资源,提高开发效率。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对本申请实施例描述中所需要使用的附图作简单地介绍。

图1为本申请实施例提供的一种表单数据验证方法的流程示意图;

图2为本申请实施例提供的又一种表单数据验证方法的流程示意图;

图3为本申请实施例提供的一种表单数据验证装置的结构示意图;

图4为本申请实施例提供的又一种表单数据验证装置的结构示意图;

图5为本申请实施例提供的一种表单数据验证的电子设备的结构示意图。

具体实施方式

下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能解释为对本发明的限制。

本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。

为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。

本申请提供的表单数据验证方法、装置、电子设备和计算机可读存储介质,旨在解决现有技术的如上技术问题。

下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。

本申请实施例中提供了一种表单数据验证的方法,如图1所示,该方法包括:

步骤s101:获取页面表单中待验证的数据对象,数据对象包括第一key;

表单在网页中主要负责数据采集功能,通常一个表单包括表单标签、表单域以及表单按钮三个基本组成部分。其中,表单域包括文本框、密码框、隐藏域等,用于采集用户的输入或选择的数据;表单按钮包括提交按钮、复位按钮等,用于将数据传送到服务器上或者取消输入,还可以用于控制其他定义了处理脚本的处理工作。

表单数据验证指在表单数据被送往服务器之前对输入表单域中的数据进行验证,包括:用户是否填写了表单中的必填项目、是否输入了合法的电子邮箱地址或者日期等。

需要说明的是,本申请实施例中的数据对象包括在计算机中以键值对存在的数据结构,比如对于用户信息的表单数据而言,数据对象可以包括用户名称、用户密码等对应的表单域的编号,及用户输入的“刘**”、“mima***”等数据,其中“*”为代表任意字符的通配符。表单域中包括一般多个框体,多个框体一般对应多个编号。

步骤s102:根据待验证的数据对象的第一key,确定与待验证的数据对象相匹配的验证规则;

可以理解的是:可以预先在终端内存储已编写好的验证规则库,当需要对用户输入的数据进行验证时,可以根据用户输入的数据所在的表单域对应的编号,在终端内确定与用户输入的数据所在的表单域相匹配的验证规则。

步骤s103:基于相匹配的验证规则,对待验证的数据对象进行验证,得到验证结果。

当终端确定与待验证的数据对象相匹配的验证规则后,可以基于验证规则内容对用户输入的数据进行验证。

可选的,验证规则可以包括整数验证、数字验证及非空验证中的任一项,验证规则种类非常丰富,此处不再一一赘述。

需要说明的是,基于第一key识别的验证规则可以是多个,具体的,比如需要在文本框内输入电话号码,此时相匹配的验证规则可以是数字验证、长度验证以及或者地区验证等的叠加。此时对待验证数据对象进行验证包括基于上述多个验证规则的内容对用户输入的数据进行一一验证,得到验证结果。

本申请提供的技术方案通过获取页面表单中待验证的数据对象,数据对象包括第一key,并基于待验证的数据对象的第一key,确定与待验证的数据对象相匹配的验证规则,基于相匹配的验证规则,对待验证的数据对象进行验证,得到验证结果。本申请通过第一key确定待匹配的验证规则,使得整个验证过程简单化,便于维护,并且基于匹配的验证规则对待验证数据进行验证,可以节省网络资源,提高开发效率。

可选的,本申请实施例中提供了一种可能的实现方式,验证规则包括第二key,步骤s102包括:

将待验证的数据对象的第一key与预设的各个验证规则的第二key进行比对,并将与第一key相同的第二key对应的验证规则,确定为与待验证的数据对象相匹配的验证规则。

可以理解的是:本申请实施例中的待验证的数据对象及验证规则都可以是以键值对存在的数据结构。进一步的:待验证的数据对象可以包括用户在表单域中输入的数据及该表单域对应的编号;验证规则可以是验证规则内容与表单域对应的编号结合的封装体,在有些情况下对表单域中的数据进行验证时是多个验证规则的叠加,故有多个验证规则内容对应同一个表单域编号的情况。

将待验证数据对象中的表单域编号与预设的各个验证规则中的表单域编号进行比对,如果编号相同,那么该编号对应的验证规则为与待验证数据对象相匹配的验证规则。

可选的,当多个验证规则对应同一个表单域编号的情况下,与待验证数据对象相匹配的验证规则也是有多个。同样的,在验证阶段,对于用户输入的数据也需要同时满足上述多个验证规则才可以验证成功。

待验证数据对象与验证规则分别包括第一key与第二key,并基于第一key与第二key可以迅速匹配待验证数据对象对应的验证规则,加快验证过程。

可选的,本申请实施例中提供了一种可能的实现方式,基于相匹配的验证规则,对待验证的数据对象进行验证,得到验证结果,包括:

根据相匹配的验证规则包括的正则表达式,对待验证的数据对象进行验证;

其中,验证规则内容一般以正则表达式形式记录。正则表达式描述了一种字符串匹配的模式,可以用来检查一个串是否含有某种子串、将匹配的子串替换或者从某个串中取出符合某个条件的子串等。正则表达式是一种文本模式,包括普通字符,例如a到z之间的字母、特殊字符,正则表达式使用单个字符串来描述、匹配一系列匹配某个句法规则的字符串通过使用正则表达式,可以测试字符串内的模式。

例如对于密码验证的验证规则为6-18个字母/数字,其正则表达式可以是/^[a-z0-9]{6,18}$/g,对于手机号码的验证规则为1开头,第二位是3/4/5/7/8,一共11位,其正则表达式可以是/^[1][3,4,5,7,8][0-9]{9}$/g。

若数据对象符合正则表达式,输出验证通过的数据对象;

若数据对象不符合正则表达式,输出提示信息。

如果用户在表单域内输入的数据符合该表单域对应的验证规则中的正则表达式,则对待验证的数据对象的验证通过,可以在界面上输出验证通过的用户输入的数据。

如果用户在表单域内输入的数据不符合该表单域对应的验证规则中的正则表达式,则对待验证的数据对象的验证不通过,可以在界面上输出提示信息;以上述对密码或者手机号码的验证为例,当密码或者手机号输入不符合其规定的正则表达式时,可以在密码表单域旁输出“请输入6-18个字母/数字”字样的提示信息,或者在手机号码表单域旁输出“请输入1开头,第二位是3/4/5/7/8,一共11位的数字”字样的提示信息。

可选的,本申请实施例中提供了一种可能的实现方式,根据相匹配的验证规则包括的正则表达式,对待验证的数据对象进行验证,包括:

根据待验证的数据对象的属性,检测待验证的数据对象的类型;

在实际应用中,待验证的数据对象可能包括不同的类型,例如数值类型、统一资源定位符或者电子邮件类型,除此之外,还可以是其他的类型,此处不做限定。

在本实施例中,在根据正则表达式对待验证的数据对象进行验证时,可以对不同类型的待验证数据对象设定不同的验证和处理方式。例如:输入元素的主要新增输入类型、验证规则以及对应的验证结果处理方式如下:电子邮件类型用于输入电子邮件地址,当提交表单数据时,会自动检测输入内容是否符合电子邮件格式,如果不符合,将给出错误提示。

从相匹配的验证规则中确定与待验证的数据对象的类型对应的目标正则表达式;

具体的,在确定与待验证数据对象的类型对应的目标正则表达式时,可以通过该待验证数据对象的类型从相匹配的验证规则中确定与该待验证数据对象对应的目标正则表达式。

根据目标正则表达式,对待验证的数据对象进行验证。

可选的,本申请实施例中提供了一种可能的实现方式,如图2所示:

步骤s201:获取页面表单中待验证的数据对象,数据对象包括第一key;

步骤s202:根据待验证的数据对象的第一key,确定与待验证的数据对象相匹配的验证规则;

步骤s203:基于相匹配的验证规则,对待验证的数据对象进行验证,得到验证结果;

步骤s204:将验证结果通过回调函数进行传送,得到回调结果;

步骤s205:在页面中显示回调结果。

其中,步骤s201-s203步骤s101-s103相似,具体实现原理此处不再赘述。

其中,回调函数可以是一个对验证结果进行特效处理的函数。

示例性地,当待验证的数据对象符合正则表达式时,待验证数据对象对应的文本框可以是绿色的,还可以在此文本框周围显示对号图标以表示此时验证通过。

当待验证的数据对象不符合正则表达式时,待验证数据对象对应的文本框可以是红色,还可以在此文本框周围以动效、音频等形式显示提示信息。

此外,回调函数还可以检测表单中是否有漏填信息项,具体的,可以在用户点击提交按钮时显示漏填提示信息,以保证表单数据验证的完整性。

可选的,当根据待验证的数据对象的第一key,不能在预设验证规则库中确定与待验证数据对象匹配的验证规则时,还可以根据待验证的数据对象自行编写与待验证对象对应的验证规则及提示信息。可以保证对各式各样的待验证数据对象进行验证,使验证操作更加灵活。

本申请实施例提供了一种表单数据验证装置,如图3所示,该表单数据验证装置30可以包括:获取模块301、确定模块302以及验证模块303,其中,

获取模块301:用于获取页面表单中待验证的数据对象,数据对象包括第一key;

表单在网页中主要负责数据采集功能,通常一个表单包括表单标签、表单域以及表单按钮三个基本组成部分。其中,表单域包括文本框、密码框、隐藏域等,用于采集用户的输入或选择的数据;表单按钮包括提交按钮、复位按钮等,用于将数据传送到服务器上或者取消输入,还可以用于控制其他定义了处理脚本的处理工作。

表单数据验证指在表单数据被送往服务器之前对输入表单域中的数据进行验证,包括:用户是否填写了表单中的必填项目、是否输入了合法的电子邮箱地址或者日期等。

需要说明的是,本申请实施例中的数据对象包括在计算机中以键值对存在的数据结构,比如对于用户信息的表单数据而言,数据对象可以包括用户名称、用户密码等对应的表单域的编号,及用户输入的“刘**”、“mima***”等数据,其中“*”为代表任意字符的通配符。表单域中包括一般多个框体,多个框体一般对应多个编号。

确定模块302:用于根据待验证的数据对象的第一key,确定与待验证的数据对象相匹配的验证规则;

可以理解的是:可以预先在终端内存储已编写好的验证规则库,当需要对用户输入的数据进行验证时,可以根据用户输入的数据所在的表单域对应的编号,在终端内确定与用户输入的数据所在的表单域相匹配的验证规则。

验证模块303:用于基于相匹配的验证规则,对待验证的数据对象进行验证,得到验证结果。

当终端确定与待验证的数据对象相匹配的验证规则后,可以基于验证规则内容对用户输入的数据进行验证。

可选的,验证规则可以包括整数验证、数字验证及非空验证中的任一项,验证规则种类非常丰富,此处不再一一赘述。

需要说明的是,基于第一key识别的验证规则可以是多个,具体的,比如需要在文本框内输入电话号码,此时相匹配的验证规则可以是数字验证、长度验证以及或者地区验证等的叠加。此时对待验证数据对象进行验证包括基于上述多个验证规则的内容对用户输入的数据进行一一验证,得到验证结果。

本申请提供的技术方案通过获取页面表单中待验证的数据对象,数据对象包括第一key,并基于待验证的数据对象的第一key,确定与待验证的数据对象相匹配的验证规则,基于相匹配的验证规则,对待验证的数据对象进行验证,得到验证结果。本申请通过第一key确定待匹配的验证规则,使得整个验证过程简单化,便于维护,并且基于匹配的验证规则对待验证数据进行验证,可以节省网络资源,提高开发效率。

可选的,本申请实施例中提供了一种可能的实现方式,如图4所示,该表单数据验证装置还可以包括:获取模块401、确定模块402、验证模块404、传送模块404以及显示模块405,其中,

获取模块401:用于获取页面表单中待验证的数据对象,数据对象包括第一key;

确定模块402:用于根据待验证的数据对象的第一key,确定与待验证的数据对象相匹配的验证规则;

验证模块403:用于基于相匹配的验证规则,对待验证的数据对象进行验证,得到验证结果。

传送模块404:用于将验证结果通过回调函数进行传送,得到回调结果;

显示模块405:用于在页面中显示回调结果。

其中,模块301-303与模块401-403相似,具体实现原理此处不再赘述。

其中,回调函数可以是一个对验证结果进行特效处理的函数。

示例性地,当待验证的数据对象符合正则表达式时,待验证数据对象对应的文本框可以是绿色的,还可以在此文本框周围显示对号图标以表示此时验证通过。

当待验证的数据对象不符合正则表达式时,待验证数据对象对应的文本框可以是红色,还可以在此文本框周围以动效、音频等形式显示提示信息。

此外,回调函数还可以检测表单中是否有漏填信息项,具体的,可以在用户点击提交按钮时显示漏填提示信息,以保证表单数据验证的完整性。

本申请实施例中提供了一种电子设备,该电子设备包括:存储器和处理器;至少一个程序,存储于存储器中,用于被处理器执行时,与现有技术相比:本申请提供的技术方案通过获取页面表单中待验证的数据对象,数据对象包括第一key,并基于待验证的数据对象的第一key,确定与待验证的数据对象相匹配的验证规则,基于相匹配的验证规则,对待验证的数据对象进行验证,得到验证结果。本申请通过第一key确定待匹配的验证规则,使得整个验证过程简单化,便于维护,并且基于匹配的验证规则对待验证数据进行验证,可以节省网络资源,提高开发效率。

在一个可选实施例中提供了一种电子设备,如图5所示,图5所示的电子设备5000包括:处理器5001和存储器5003。其中,处理器5001和存储器5003相连,如通过总线5002相连。可选地,电子设备5000还可以包括收发器5004。需要说明的是,实际应用中收发器5004不限于一个,该电子设备5000的结构并不构成对本申请实施例的限定。

处理器5001可以是cpu(centralprocessingunit,中央处理器),通用处理器,dsp(digitalsignalprocessor,数据信号处理器),asic(applicationspecificintegratedcircuit,专用集成电路),fpga(fieldprogrammablegatearray,现场可编程门阵列)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器5001也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,dsp和微处理器的组合等。

总线5002可包括一通路,在上述组件之间传送信息。总线5002可以是pci(peripheralcomponentinterconnect,外设部件互连标准)总线或eisa(extendedindustrystandardarchitecture,扩展工业标准结构)总线等。总线5002可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

存储器5003可以是rom(readonlymemory,只读存储器)或可存储静态信息和指令的其他类型的静态存储设备,ram(randomaccessmemory,随机存取存储器)或者可存储信息和指令的其他类型的动态存储设备,也可以是eeprom(electricallyerasableprogrammablereadonlymemory,电可擦可编程只读存储器)、cd-rom(compactdiscreadonlymemory,只读光盘)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。

存储器5003用于存储执行本申请方案的应用程序代码,并由处理器5001来控制执行。处理器5001用于执行存储器5003中存储的应用程序代码,以实现前述方法实施例所示的内容。

本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,当其在计算机上运行时,使得计算机可以执行前述方法实施例中相应内容。与现有技术相比,

本申请提供的技术方案通过获取页面表单中待验证的数据对象,数据对象包括第一key,并基于待验证的数据对象的第一key,确定与待验证的数据对象相匹配的验证规则,基于相匹配的验证规则,对待验证的数据对象进行验证,得到验证结果。本申请通过第一key确定待匹配的验证规则,使得整个验证过程简单化,便于维护,并且基于匹配的验证规则对待验证数据进行验证,可以节省网络资源,提高开发效率。

应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

以上所述仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1