CN110362313A - 一种表单验证方法、客户端及服务器 - Google Patents
一种表单验证方法、客户端及服务器 Download PDFInfo
- Publication number
- CN110362313A CN110362313A CN201910589267.1A CN201910589267A CN110362313A CN 110362313 A CN110362313 A CN 110362313A CN 201910589267 A CN201910589267 A CN 201910589267A CN 110362313 A CN110362313 A CN 110362313A
- Authority
- CN
- China
- Prior art keywords
- format
- file
- data
- rear end
- verification
- 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
- 238000010200 validation analysis Methods 0.000 title claims abstract description 28
- 238000012795 verification Methods 0.000 claims abstract description 139
- 238000000034 method Methods 0.000 claims abstract description 51
- 230000015654 memory Effects 0.000 claims description 20
- 238000012360 testing method Methods 0.000 claims description 12
- 238000012545 processing Methods 0.000 claims description 11
- 230000011218 segmentation Effects 0.000 claims description 6
- 238000004891 communication Methods 0.000 claims description 5
- 238000011161 development Methods 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 11
- 230000005540 biological transmission Effects 0.000 description 3
- 238000013524 data verification Methods 0.000 description 3
- 230000018109 developmental process Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 238000007689 inspection Methods 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 239000002775 capsule Substances 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/38—Creation or generation of source code for implementing user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/43—Checking; Contextual analysis
Abstract
本发明涉及计算机领域,特别是涉及一种表单验证方法、客户端及服务器。应用于前端,该方法包括:接收表单数据;调用前端校验文件,将数据格式与前端校验文件中预设的数据格式进行格式校验;若校验通过,向后端输出表单数据。应用于后端,该方法包括:获取由前端发送至后端的表单数据;调用后端校验文件,将数据格式与后端校验文件中预设的数据格式进行格式校验;若校验通过,提交表单数据。其中,前端校验文件与后端校验文件两者的校验逻辑相同。通过在前后端调用具有相同校验逻辑的校验文件对表单数据进行验证,解决了在前后端采用一致的校验规则进行验证的技术问题,提升了开发者的开发效率,同时还提高了表单数据的准确性。
Description
技术领域
本发明涉及计算机领域,特别是涉及一种表单验证方法、客户端及服务器。
背景技术
随着广大的中小企业在电子商务方面的应用程度越来越深,关系到用户数据交互的环节就变得越来越重要。而用户数据页面交互的前端开发中,最频繁使用的是对用户数据的校验。这种校验往往是通过Web表单将数据从客户端提交到服务器端来进行的,其中,表单中通常包含多种信息。例如,一个注册页面的用户名、密码、邮箱和手机号码等信息,这些数据在表单填写时是不受限制的,理论上用户可以按照自己的意愿填写任何信息,但无论从数据的有效性,还是出于对数据安全性的考虑,都需要在用户填完表单后进行数据的验证。
发明人在实现本发明的过程中,发现相关技术存在以下问题:表单数据校验涉及到前端和后端两端的校验,前后端使用不同的语言编写代码做校验,需要熟悉不同的语言,同时修改代码比较繁琐。
发明内容
本发明实施例提供一种表单验证方法、客户端及服务器,其解决了现有技术中验证规则不一致的技术问题。
为了解决上述技术问题,本发明提供以下技术方案:
在第一方面,本发明实施例提供一种表单验证方法,应用于前端,所述方法包括:
接收表单数据,所述表单数据配置有当前数据格式;
调用前端校验文件,将所述数据格式与所述前端校验文件中预设的数据格式进行格式校验;
若校验通过,向后端输出所述表单数据,以使所述后端使用后端校验文件对所述表单数据进行校验,所述前端校验文件与所述后端校验文件两者的校验逻辑相同。
可选地,所述前端校验文件是由JAVA标签技术生成的js格式校验文件;
所述后端校验文件由所述JAVA标签技术生成的java格式校验文件,所述java格式校验文件与所述js格式校验文件的校验逻辑相同。
可选地,所述前端校验文件中预设的数据格式包括:布尔型、枚举型、数据库属性型、数字型、字母型、邮箱型、金钱型、地址型、json型、文件目录型、常量型。
在第二方面,本发明实施例提供一种表单验证方法,应用于后端,所述方法包括:
获取表单数据,所述表单数据是由前端发送至后端,所述表单数据配置有当前数据格式,所述前端可生成前端校验文件;
调用后端校验文件,将所述数据格式与所述后端校验文件中预设的数据格式进行格式校验,其中,所述前端校验文件与所述后端校验文件两者的校验逻辑相同;
若校验通过,提交所述表单数据。
可选地,所述后端校验文件是由JAVA标签技术生成的java格式校验文件;
所述前端校验文件由所述JAVA标签技术生成的js格式校验文件,所述js格式校验文件与所述java格式校验文件的校验逻辑相同。
可选地,所述方法还包括:
判断所述表单数据中的输入项是否大于预设的输入项阈值;
若是,则:所述调用后端校验文件,将所述数据格式与所述后端校验文件中预设的数据格式进行格式校验,包括:
将所述表单数据进行分段;
调用后端校验文件,将分段后表单数据中的数据格式与所述后端校验文件中预设的数据格式进行格式校验。
可选地,所述表单数据由所述前端在校验通过后输出到所述后端的。
可选地,所述所述表单数据还可以由所述前端调用接口代码的方式将所述表单数据输出至后端。
在第三方面,本发明实施例提供一种客户端,其中,所述客户端包括:
至少一个处理器;以及
与所述至少一个处理通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令程序,所述指令程序被所述至少一个处理器执行,以使所述至少一个处理器执行权利要求1-4任意一项所述的表单验证方法。
在第四方面,本发明实施例提供一种服务器,其中,所述服务器包括:
至少一个处理器;以及
与所述至少一个处理通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令程序,所述指令程序被所述至少一个处理器执行,以使所述至少一个处理器执行权利要求5-9任意一项所述的表单验证方法。
在本发明各个实施例中,客户端接收到表单数据后,调用前端校验文件对表单数据进行验证,验证通过后将表单数据输出到后端,后端调用后端校验文件对表单进行二次验证,其中,前端校验文件和后端校验文件具有相同的校验逻辑,表单数据在后端验证通过后,将进行数据提交。通过在前后端调用具有相同校验逻辑的校验文件对表单数据进行验证,解决了在前后端采用一致的校验规则进行验证的技术问题,提升了开发者的开发效率,同时还提高了表单数据的准确性。
附图说明
一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。
图1是本发明实施例提供的一种表单验证方法的系统结构框图;
图2是本发明实施例提供的一种表单验证方法的前端的流程示意图;
图3是本发明实施例提供的一种表单验证方法的后端的流程示意图;
图3a是本发明实施例提供的一种表单验证方法的后端的流程示意图;
图4是本发明实施例提供的一种表单验证方法的系统流程示意图;
图5是本发明实施例提供的一种电子设备的硬件结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
图1为本申请实施例提供的表单验证方法的系统结构框图,该图所示的表单验证方法的系统可以用于实现本申请实施例提供的表单验证方法,请参照图1,该系统包括至少一个客户端10和服务器端20,客户端10可以是个人计算机、智能手机和/或ipad电脑,客户端10通过网络与服务器端20连接,上述网络可以包括但不限于以下至少一种:广域网、城域网、局域网。
客户端10用于接收用户输入数据,在客户端对用户数据进行校验,校验成功后,把数据发送至服务器端20以进行二次校验。服务器端20用于接收客户端10发送的数据,并对接收到的数据进行二次校验。
关于数据校验的具体过程可以参见以下实施例的描述。本申请提供的表单数据校验方法也可以适用于该系统,本申请对该系统的具体组成结构不做限定。
请参看图2所示的一种表单验证方法的前端的流程示意图,该方法包括以下步骤:
步骤101、接收表单数据,所述表单数据配置有当前数据格式。
在本实施例中,表单数据可以但不限于是Web页面的表单数据,数据项可以但不限于指表单中的文本框、下拉选择框、单选框和复选框等需要校验的项,还可以为表单中的非输入项、隐藏域等其他不需要校验的表单元素,以下以Web表单为例进行验证的步骤说明。
客户端接收到用户在Web页面输入的表单数据,其中,表单数据是根据用户自己的意愿进行输入的。而在实际应用中,对表单中的输入项,特别是文本框的数据输入,需要有格式要求,用户填写的输入项必须满足其对应的格式要求才能使数据进入到后端。比如用户在设置邮箱时,输入项的格式必须是邮箱格式,如若用户端只输入***.com作为邮箱,那么系统会发出格式有误的提示。因此,客户端接收到表单数据后,需要对其当前的数据格式进行检验,以防止错误的表单数据进入到后端,加重服务器端的处理。
步骤103、调用前端校验文件,将所述数据格式与所述前端校验文件中预设的数据格式进行格式校验。
前端校验文件是开发者在表单开发过程中,对表单中各输入项的格式进行限定的格式校验配置文件,比如,输入项为邮箱设置,那么在校验文件中就可以通过设定checkWay="REG:EMAIL|必须为邮箱格式"的方式来对其格式进行限定。
客户端接收到用户输入的表单数据后,需要将表单数据中各输入项的数据格式与前端校验文件中对应输入项的格式进行校验。
在一些实施例中,所述前端校验文件是由JAVA标签技术生成的js格式校验文件;
所述后端校验文件由所述JAVA标签技术生成的java格式校验文件,所述java格式校验文件与所述js格式校验文件的校验逻辑相同。
前端校验文件是表单开发者为了能在前端对表单数据进行校验,引入JAVA标签技术,使用标签<sp:sysParameterCheckTag parameterValue="默认值"checkWay="校验格式"/>的方式对表单中的各输入项进行格式限制,比如,使用标签来限制邮箱格式输入时,那么其邮箱格式对应的标签为<sp:sysParameterCheckTag parameterValue="123@qq.com"checkWay="REG:EMAIL|必须为邮箱格式"/>。用户在客户端界面填写完表单后,表单控件根据java标签技术会自动生成适用于前端校验的js格式的前端校验文件,以使用户输入的表单数据能在前端进行第一次格式验证。同时,表单控件根据java标签技术还可以生成适用于后端检验的java格式的后端校验文件,以使表单数据进入后端后,采用后端校验文件将表单数据进行二次校验,从而保证了数据的一致性和有效性。
其中,通过JAVA标签技术生成的前端校验文件和后端校验文件具有相同的校验逻辑,即前后端采用同一种检验方式对数据进行校验,保证了前端和后端校验规则的逻辑一致,从而消除了前后端校验逻辑之间的不统一的问题。
由于前端和后端采用的是不同的编程语言,因此,就需要生成不同格式的检验文件,以适应前后端不同的编程语言。采用JAVA标签技术生成的前端校验文件为js格式文件,以适用前端的JavaScript来进行表单数据验证。采用JAVA标签技术生成的后端校验文件为java格式文件,以使服务器端能识别后端校验文件,对后端接收到的表单数据进行二次校验。
在另一些实施例中,所述前端校验文件中预设的数据格式包括:布尔型、枚举型、数据库属性型、数字型、字母型、邮箱型、金钱型、地址型、json型、文件目录型、常量型。
在实际应用中,标签校验系统中默认内置了多种表单输入项的默认数据格式实现以供开发者使用:(默认:
BOOL:TRUE|打开,FALSE|关闭...布尔型
ENUM:0|开始,1|审批,2|审批完成,3|结束...枚举型
SYS:ORG_PROPERTIES...数据库属性型
REG:[0-9]+|必须为数字格式...数字型
REG:[a-z|A-Z]+|必须为字母格式...字母型
REG:EMAIL|必须为邮箱格式...邮箱型
REG:MONEY|必须为数字格式...金钱型
REG:URL|必须为url格式...地址型
REG:JSON|必须为json格式...json型
DIR:目录...文件目录型
CONST:常量...常量型
CLZ:spring-bean)
这些表单输入项的默认数据格式实现基本能够适用于多种数据类型的数据平台的数据校验,具被通用性,当然开发者可以根据数据校验接口进行扩展以实现自定义需求。
步骤105、若校验通过,向后端输出所述表单数据,以使所述后端使用后端校验文件对所述表单数据进行校验,所述前端校验文件与所述后端校验文件两者的校验逻辑相同。
客户端将接收到的表单数据中各输入项的数据格式与前端校验文件中各对应输入项的格式进行匹配,根据匹配的结果来处理表单数据。在本实施例中,调用前端校验文件进行表单数据匹配是做基础的格式匹配,作为服务器数据的主要输入端,开发者在前端提供了人机交互的友好界面,以供用户进行数据输入,同时,前端应该要保证数据的有效性。因此,前端接收到用户输入的表单数据后,首先需要检验用户的输入是否符合输入规则,比如邮箱输入必须为邮箱格式,手机号码输入必须为11位的数字输入,而不能带有字母、符号等其他格式输入,以防止错误数据进入服务器中。
若校验通过,即用户输入的表单数据中各输入项数据的格式都能与前端校验文件中各对应输入项的格式匹配,则前端将校验通过的表单数据输出到后端,以使后端使用后端校验文件对所述表单数据进行二次校验,其中,前端校验文件与后端校验文件两者的校验逻辑相同。
在一些实施例中,若校验不通过,则产生前端提示信息。
若校验不通过,即用户输入的表单数据中至少有一个输入项数据的格式与前端校验文件中对应输入项的格式不匹配,则前端将产生提示信息,提示用户将不匹配的格式输入项进行重新输入。
提示信息包括输入提示和错误提示,提示样式开发者可以根据需要进行自定义设置,比如提示框可是是悬浮框提示的方式。提示的内容可以在标签中进行设置,比如设置标签<sp:sysParameterCheckTag parameterValue="123@qq.com"checkWay="REG:EMAIL|必须为邮箱格式"/>,则当邮箱的格式匹配不通过时,前端提示信息为“必须为邮箱格式”。
在本发明个实施例中,客户端接收到用户输入的表单数据后,调用前端校验文件,将接收到的表单数据中各输入项数据的格式与前端校验文件中各对应输入项的格式进行格式匹配,根据匹配的结果来处理表单数据,若校验通过,则把表单数据输出到后端进行二次校验;若校验不通过,则前端给出提示信息,提示用户将不匹配的格式输入项进行重新输入。通过以上各步骤,表单数据在前端完成了第一次格式校验,有效的防止了错误数据进入到服务器,提高了服务器的效率。
请参看图3所示的一种表单验证方法的后端的流程示意图,该方法包括以下步骤:
步骤201、获取表单数据,所述表单数据是由前端发送至后端,所述表单数据配置有当前数据格式,所述前端可生成前端校验文件。
服务器接收到从前端发送的表单数据,表单数据可以但不限于指表单中的文本框、下拉选择框、单选框和复选框等需要校验的项的输入数据,还可以为表单中的非输入项、隐藏域等其他不需要校验的表单元素的数据,表单中需要校验的数据项在通过服务器校验后,需要对表单数据进行其他的逻辑操作。比如邮箱数据,一般来讲,邮箱可以作为用户名进行输入,也可以作为接收数据容器,与服务器端而言,邮箱数据的格式如果不正确,那么服务器端发送的类似修改密码、登录提醒等信息就无法送达用户手上。因此,对表单数据进行格式校验是服务器接收数据后的第一处理步骤。
在一些实施例中,所述表单数据由所述前端在校验通过后输出到所述后端的。
Web表单是用户最常用的表单,随着计算机网络的飞速发展,服务器获取的表单数据绝大多数是用户通过Web表单进行输入得到,即用户在Web界面填写完表单后,通过点击控件的方式将填写的表单进行提交。开发者为了能有效的收集到用户数据,在前端提供了友好的表单输入界面。用户在前端填写完表单后,由表单控件结合标签技术生成表单数据,在前端调用前端校验文件校验成功后,由前端将表单数据输出到后端。
在另一些实施例中,所述表单数据还可以由所述前端调用接口代码的方式将所述表单数据输出至后端。
表单数据除了在Web界面通过点击控件的方式进行表单提交外,专业人员还可以通过在前端调用接口代码,将表单数据向后端输出,此时,表单数据绕过了前端的格式校验过程,即表单数据没有经过前端的格式校验而被输出到了后端,所以,在后端拉起格式校验才能真正的确保表单数据的准确性。
步骤203、调用后端校验文件,将所述数据格式与所述后端校验文件中预设的数据格式进行格式校验,其中,所述前端校验文件与所述后端校验文件两者的校验逻辑相同。
后端校验文件是开发者在表单开发的过程中,对表单中各输入项的格式进行限定的格式校验配置文件。服务器接收到表单数据后,需要将表单数据中个输入项的数据格式与后端校验文件中对应输入项的格式进行匹配。
在一些实施例中,所述后端校验文件是由JAVA标签技术生成的java格式校验文件;
所述前端校验文件由所述JAVA标签技术生成的js格式校验文件,所述js格式校验文件与所述java格式校验文件的校验逻辑相同。
与前端校验文件相同的,后端校验文件是表单开发者为了能在前后端对表单数据进行格式校验,引入JAVA标签技术,使用标签<sp:sysParameterCheckTag parameterValue="默认值"checkWay="校验格式"/>的方式对表单中的各输入项进行格式限制,用户在客户端界面填写完表单后,表单控件根据java标签技术会生成适用于后端校验的java格式的后端校验文件,服务器调用后端校验文件对接收到的表单数据进行格式校验。
其中,前端校验文件和后端校验文件具有相同的校验逻辑,即前后端采用同一种检验方式对数据进行校验,保证了前端和后端校验规则的逻辑一致,从而消除了前后端校验逻辑之间的不统一的问题。
由于前端和后端采用的是不同的编程语言,因此,就需要生成不同格式的检验文件,以适应前后端不同的编程语言。采用JAVA标签技术生成的前端校验文件为js格式文件,以适用前端的JavaScript来进行表单数据验证。采用JAVA标签技术生成的后端校验文件为java格式文件,以使服务器端能识别后端校验文件,对后端接收到的表单数据进行二次校验。
前后端采用的同一种检验方式,因此,后端校验文件中的预设数据格式也包括:布尔型、枚举型、数据库属性型、数字型、字母型、邮箱型、金钱型、地址型、json型、文件目录型、常量型。
服务器在进行表单数据的格式校验之前,需要先判断接收到的表单数据中的输入项是否大于预设的输入项阈值,以注册表单为例,用户在Web页面注册某会员时,需要填写各种的输入项,比如手机号码、邮箱信息、密码、姓名、昵称、性别、地址、固定电话、传真、邮编、验证码等等输入项,假设表单的预设输入项阈值为10,那么后端接收到表单数据的输入项超过10时,需要对其进行分段验证,以加快验证速度。
在一些实施例中,接收到的表单数据的输入项大于预设输入项阈值时,请参阅图3a,步骤203包括以下步骤:
步骤2031、将所述表单数据进行分段。
当判断表单数据的输入项大于预设输入项阈值时,将表单数据进行分段,比如,将表单数据的输入项以阈值为分段单位进行分段,也可以自定义分段单位进行分段,分段单位的设定可以但不限于上述设定。
步骤2032、调用后端校验文件,将分段后表单数据中的数据格式与所述后端校验文件中预设的数据格式进行格式校验。
将表单数据按照一定的分段单位进行分段后,调用后端校验文件,将分段后的表单数据进行格式校验,具体的校验方式可以参照上述未分段表单数据格式校验的方法。
步骤205、若校验通过,提交所述表单数据。
表单数据在后端通过上述校验步骤进行格式校验,若校验通过,即后端接收到的表单数据中各输入项数据的格式都能与后端校验文件中各对应输入项的格式匹配,则将表单数据提交到表单数据的其他逻辑处理单元。以注册表单中的邮箱数据为例,当表单数据在后端通过验证后,服务器将邮箱数据储存到用户数据中,以使用户可以用邮箱进行登录或消息验证等。
若表单数据校验不通过,特别是表单数据绕过前端验证,直接输出到后端时,此时表单数据在调用后端验证文件进行格式验证后,验证不通过,则后端会给出提示信息,提示用户将不匹配的格式输入项进行重新输入。
综上所述,在本实施例中,后端接收到前端输出的表单数据后,调用后端校验文件,将表单数据中各输入项数据的格式与后端校验文件中各对应输入项的格式进行格式匹配,根据匹配的结果来处理表单数据,若校验通过,则把表单数据提交到其他逻辑处理模块;若校验不通过,则后端给出提示信息,提示用户将不匹配的格式输入项进行重新输入。通过以上各步骤,表单数据在后端完成了第二次格式校验,有效的防止了错误数据提交到其他逻辑处理单元,提高了服务器的数据的有效性。
请参看图4所示的一种表单验证方法的系统流程示意图,该方法包括以下步骤:
步骤301、前端接收到用户输入的表单数据;
表单数据是用户在前端填写完表单后提交生成的数据,表单数据可以但不限于是Web页面的表单数据,数据项可以但不限于指表单中的文本框、下拉选择框、单选框和复选框等需要校验的项,还可以为表单中的非输入项、隐藏域等其他不需要校验的表单元素。
步骤302、将表单数据与js格式的校验文件进行格式校验;
js格式的校验文件是由开发者引入JAVA标签技术结合表单控件生成的格式校验配置文件,适用于前端进行表单数据的格式检验。客户端接收到用户输入的表单数据后,需要将表单数据中各输入项的数据格式与前端校验文件中对应输入项的格式进行校验。
步骤303、判断是否校验通过;
若表单数据中各输入项的数据格式与前端校验文件中对应输入项的格式匹配,则校验通过;反之,则若检验通过。
步骤304、若校验不通过,发出提示信息;
若校验不通过,即用户输入的表单数据中至少有一个输入项数据的格式与前端校验文件中对应输入项的格式不匹配,则前端将产生提示信息,提示用户将不匹配的格式输入项进行重新输入。
步骤305、若检验通过,则将表单数据输出至后端;
若校验通过,即用户输入的表单数据中各输入项数据的格式都能与前端校验文件中各对应输入项的格式匹配,则前端将校验通过的表单数据输出到后端,以使后端对表单数据进行二次校验。
步骤306、后端接收到前端发送的表单数据;
后端接收到从前端发送的表单数据,表单数据可以但不限于指表单中的文本框、下拉选择框、单选框和复选框等需要校验的项的输入数据,还可以为表单中的非输入项、隐藏域等其他不需要校验的表单元素的数据。
步骤307、将接收到的表单数据与java格式的校验文件进行格式校验;
Java格式的校验文件也是由开发者引入JAVA标签技术结合表单控件生成的格式校验配置文件,适用于后端进行表单数据的格式检验。后端接收到由前端发送的表单数据后,需要将表单数据中各输入项的数据格式与后端校验文件中对应输入项的格式进行校验。其中,java格式校验文件与js格式校验文件具有相同的校验逻辑,即前后端采用同一种检验方式对数据进行校验,保证了前端和后端校验规则的逻辑一致。
步骤308、判断是否校验通过;
若表单数据中各输入项的数据格式与后端校验文件中对应输入项的格式匹配,则校验通过;反之,则若检验通过。
步骤309、若校验不通过,发出提示信息;
若校验不通过,即后端接收到的表单数据中至少有一个输入项数据的格式与后端校验文件中对应输入项的格式不匹配,则后端将产生提示信息,提示用户将不匹配的格式输入项进行重新输入。
步骤3010、若校验通过,则将表单数据提交。
若校验通过,即后端接收到的表单数据中各输入项数据的格式都能与后端校验文件中各对应输入项的格式匹配,则将表单数据提交到表单数据的其他逻辑处理单元。
综上所述,在本实施例中,前端接收到用户输入的表单数据后,调用js格式校验文件与表单数据进行格式校验,校验成功后将数据输出到后端,后端接收到数据后,调用java格式校验文件再次拉起对表单数据的格式校验,校验成功后将数据提交到其他逻辑单元处理。其中,js格式校验文件与java格式校验文件是由JAVA标签技术结合表单控件生成的,并且具有相同的校验逻辑。因此,通过引入JAVA标签技术实现了前后端使用同一校验规则进行表单数据校验的方法。
图5是本发明实施例提供的电子设备的硬件结构示意图,其中,该电子设备可以为客户端,亦可以为服务器。如图5所示,该电子设备40包括一个或多个处理器401以及存储器402。其中,图5中以一个处理器401为例。
处理器401和存储器402可以通过总线或者其他方式连接,图5中以通过总线连接为例。
存储器402作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。处理器401通过运行存储在存储器402中的非易失性软件程序、指令以及模块,从而执行电子设备的各种功能应用以及数据处理,亦即,当电子设备为客户端时,其可执行图2所示的表单验证方法,当电子设备为服务器时,其可执行图3、图3a所示的表单验证方法。
存储器402可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器402可选包括相对于处理器401远程设置的存储器,这些远程存储器可以通过网络连接至处理器401。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
所述程序指令/模块存储在所述存储器402中,当被所述一个或者多个处理器401执行时,执行上述任意方法实施例中的表单验证的方法,例如,当电子设备为客户端时,其可执行图2所示的表单验证方法,当电子设备为服务器时,其可执行图3、图3a所示的表单验证方法。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;在本申请的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本申请的不同方面的许多其它变化,为了简明,它们没有在细节中提供;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (10)
1.一种表单验证方法,应用于前端,其特征在于,所述方法包括:
接收表单数据,所述表单数据配置有当前数据格式;
调用前端校验文件,将所述数据格式与所述前端校验文件中预设的数据格式进行格式校验;
若校验通过,向后端输出所述表单数据,以使所述后端使用后端校验文件对所述表单数据进行校验,所述前端校验文件与所述后端校验文件两者的校验逻辑相同。
2.根据权利要求1所述的方法,其特征在于,
所述前端校验文件是由JAVA标签技术生成的js格式校验文件;
所述后端校验文件由所述JAVA标签技术生成的java格式校验文件,所述java格式校验文件与所述js格式校验文件的校验逻辑相同。
3.根据权利要求1或2所述的方法,其特征在于,所述前端校验文件中预设的数据格式包括:布尔型、枚举型、数据库属性型、数字型、字母型、邮箱型、金钱型、地址型、json型、文件目录型、常量型。
4.一种表单验证方法,应用于后端,其特征在于,所述方法包括:
获取表单数据,所述表单数据是由前端发送至后端,所述表单数据配置有当前数据格式,所述前端可生成前端校验文件;
调用后端校验文件,将所述数据格式与所述后端校验文件中预设的数据格式进行格式校验,其中,所述前端校验文件与所述后端校验文件两者的校验逻辑相同;
若校验通过,提交所述表单数据。
5.根据权利要求4所述的方法,其特征在于,
所述后端校验文件是由JAVA标签技术生成的java格式校验文件;
所述前端校验文件由所述JAVA标签技术生成的js格式校验文件,所述js格式校验文件与所述java格式校验文件的校验逻辑相同。
6.根据权利要求4所述的方法,其特征在于,所述方法还包括:
判断所述表单数据中的输入项是否大于预设的输入项阈值;
若是,则:所述调用后端校验文件,将所述数据格式与所述后端校验文件中预设的数据格式进行格式校验,包括:
将所述表单数据进行分段;
调用后端校验文件,将分段后表单数据中的数据格式与所述后端校验文件中预设的数据格式进行格式校验。
7.根据权利要求4至6任一项所述的方法,其特征在于,所述表单数据由所述前端在校验通过后输出到所述后端的。
8.根据权利要求4至6任一项所述的方法,其特征在于,所述表单数据由所述前端调用接口代码的方式将所述表单数据输出至后端。
9.一种客户端,其特征在于,所述客户端包括:
至少一个处理器;以及
与所述至少一个处理通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令程序,所述指令程序被所述至少一个处理器执行,以使所述至少一个处理器执行权利要求1-3任意一项所述的表单验证方法。
10.一种服务器,其特征在于,所述服务器包括:
至少一个处理器;以及
与所述至少一个处理通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令程序,所述指令程序被所述至少一个处理器执行,以使所述至少一个处理器执行权利要求4-8任意一项所述的表单验证方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910589267.1A CN110362313A (zh) | 2019-07-02 | 2019-07-02 | 一种表单验证方法、客户端及服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910589267.1A CN110362313A (zh) | 2019-07-02 | 2019-07-02 | 一种表单验证方法、客户端及服务器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110362313A true CN110362313A (zh) | 2019-10-22 |
Family
ID=68217581
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910589267.1A Pending CN110362313A (zh) | 2019-07-02 | 2019-07-02 | 一种表单验证方法、客户端及服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110362313A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111190596A (zh) * | 2019-12-24 | 2020-05-22 | 平安普惠企业管理有限公司 | 联调方法、装置、计算机设备及可读存储介质 |
CN111539198A (zh) * | 2020-04-15 | 2020-08-14 | 北京宝兰德软件股份有限公司 | 一种基于Java的表单验证方法及装置 |
CN115146322A (zh) * | 2022-09-01 | 2022-10-04 | 杭州安恒信息技术股份有限公司 | 一种数据校验方法、装置、设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040024842A1 (en) * | 2002-07-31 | 2004-02-05 | Sap Aktiengesellschaft | Validation framework for validating markup page input on a client computer |
CN102426549A (zh) * | 2011-09-08 | 2012-04-25 | 新一站保险代理有限公司 | 一种高效的Web的表单校验方法及其框架 |
CN104270395A (zh) * | 2014-10-24 | 2015-01-07 | 中国建设银行股份有限公司 | 一种输入数据校验的方法、装置及系统 |
-
2019
- 2019-07-02 CN CN201910589267.1A patent/CN110362313A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040024842A1 (en) * | 2002-07-31 | 2004-02-05 | Sap Aktiengesellschaft | Validation framework for validating markup page input on a client computer |
CN102426549A (zh) * | 2011-09-08 | 2012-04-25 | 新一站保险代理有限公司 | 一种高效的Web的表单校验方法及其框架 |
CN104270395A (zh) * | 2014-10-24 | 2015-01-07 | 中国建设银行股份有限公司 | 一种输入数据校验的方法、装置及系统 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111190596A (zh) * | 2019-12-24 | 2020-05-22 | 平安普惠企业管理有限公司 | 联调方法、装置、计算机设备及可读存储介质 |
CN111539198A (zh) * | 2020-04-15 | 2020-08-14 | 北京宝兰德软件股份有限公司 | 一种基于Java的表单验证方法及装置 |
CN111539198B (zh) * | 2020-04-15 | 2023-07-04 | 北京宝兰德软件股份有限公司 | 一种基于Java的表单验证方法及装置 |
CN115146322A (zh) * | 2022-09-01 | 2022-10-04 | 杭州安恒信息技术股份有限公司 | 一种数据校验方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105849691B (zh) | 用于代码虚拟化和远程进程调用生成的方法和装置 | |
US7444548B2 (en) | Methods and systems for automatically testing websites and web applications using knowledge bases of standard inputs and standard errors | |
CN107102947B (zh) | Atm交易流程测试装置及方法 | |
CN110362313A (zh) | 一种表单验证方法、客户端及服务器 | |
CN104093141A (zh) | 终端应用的登录方法、装置、客户端及电子设备 | |
CN105913245A (zh) | 互联网支付方法、装置和服务器 | |
CN109033772A (zh) | 一种验证信息的输入方法及装置 | |
CN104350723A (zh) | 账号登录的方法及装置 | |
CN110727580A (zh) | 响应数据生成、全流程接口数据处理方法及相关设备 | |
CN110659206A (zh) | 基于微服务的模拟架构建立方法、装置、介质及电子设备 | |
CN108154020A (zh) | 一种验证码输入和显示方法及设备 | |
CN105099983A (zh) | 授权方法、权限设置方法及装置 | |
CN112711640A (zh) | 一种业务受理流程配置的方法及装置 | |
CN111538659A (zh) | 业务场景的接口测试方法、系统、电子设备和存储介质 | |
CN111242462A (zh) | 数据处理方法及装置、计算机存储介质、电子设备 | |
CN110717315B (zh) | 系统数据批量修改方法、装置、存储介质及电子设备 | |
CN110209572A (zh) | 用户界面测试方法、用户界面测试系统及终端 | |
CN111865726B (zh) | 业务消息测试方法、装置、计算机系统和存储介质 | |
CN111881020B (zh) | 支付中心接口测试方法、装置和系统 | |
CN110532186B (zh) | 利用验证码进行测试的方法、装置、电子设备和存储介质 | |
CN114115628A (zh) | 应用于u盾测试的u盾显示信息获取方法、装置、设备、介质及程序产品 | |
CN112788017A (zh) | 一种安全校验方法、装置、设备及介质 | |
CN113052727A (zh) | 基于购房资格核验的购房推荐装置及方法 | |
US20080001959A1 (en) | System, Method and Computer Program Product for Performing Information Transfer Using a Virtual Operator | |
CN105718314A (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: 20191022 |