CN108920140B - 一种前后端统一校验方法 - Google Patents

一种前后端统一校验方法 Download PDF

Info

Publication number
CN108920140B
CN108920140B CN201810795360.3A CN201810795360A CN108920140B CN 108920140 B CN108920140 B CN 108920140B CN 201810795360 A CN201810795360 A CN 201810795360A CN 108920140 B CN108920140 B CN 108920140B
Authority
CN
China
Prior art keywords
check rule
code
rule
verification method
check
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
Application number
CN201810795360.3A
Other languages
English (en)
Other versions
CN108920140A (zh
Inventor
赵正旭
王威
周述红
王国军
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guizhou Zhongke Hengyun Software Technology Co., Ltd
Zhongke Hengyun Co ltd
Original Assignee
Guizhou Zhongke Hengyun Software Technology Co ltd
Hebei Zhongke Hengyun Software Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Guizhou Zhongke Hengyun Software Technology Co ltd, Hebei Zhongke Hengyun Software Technology Co ltd filed Critical Guizhou Zhongke Hengyun Software Technology Co ltd
Priority to CN201810795360.3A priority Critical patent/CN108920140B/zh
Publication of CN108920140A publication Critical patent/CN108920140A/zh
Application granted granted Critical
Publication of CN108920140B publication Critical patent/CN108920140B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3604Software analysis for verifying properties of programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/52Binary to binary

Abstract

本发明涉及前后端校验技术领域,尤其是一种前后端统一校验方法,包括以下步骤:编写代码生成自动化的校验规则、对自动化的校验规则中的代码进行校验、后端和前端统一使用自动化的校验规则。本发明打破了前后端分别使用自己的校验规则导致同时存在多份规则,提高了校验的准确性和便捷性,减少了校验带来的较大的工作量,降低了前端和后端的沟通成本,而且本发明的此设计思想新颖高效,从系统整体架构去解决问题的,通过使用本领域熟悉的技术对开发人员是透明实现。

Description

一种前后端统一校验方法
技术领域
本发明涉及前后端校验技术领域,尤其涉及一种前后端统一校验方法。
背景技术
现在的前端表单校验方法、后端校验方法繁多,成熟度也非常高,但是他们是分离的,前端校验框架只工作在前端,而后端校验框架只工作在后端,导致我们的校验规则需要在前端写一份,后端也写一份,导致相同的校验规则存在多处。随着分布式、微服务的发展;系统越来越繁多,前端相同表单的校验规则会散落到各处。在加上第三方系统的接入,相同的校验规则还会流出到我们无法控制的系统中去。严重阻碍了我们的重构,让我们的修改校验规则代价无限增加。为此还经常导致我们在设计数据库结构的时候不得不将字段的长度等等设置很大。
发明内容
本发明的目的是为了解决现有技术中存在的缺点,而提出的一种前后端统一校验方法。
为了实现上述目的,本发明采用了如下技术方案:
设计一种前后端统一校验方法,包括以下步骤:
S1、在服务器内通过编写代码生成器,将数据库中的表结构映射到代码中的对象,在映射的过程中,得到表中列的约束,生成自动化的校验规则;
S2、加载自动化的校验规则,将自动化的校验规则载入代码检验工具内,通过代码检验工具对自动化的校验规则进行检验,校验自动化的校验规则内参数是否合法;
S3、若S2中自动化的校验规则中的参数校验不合法,则将不合法的参数进标记,在自动化的校验规则中的代码校验完成后,将标记的错误代码提取出来去掉或更改,之后重新编入一个合法的代码,若校验的参数合法,则存储在后端;
S4、后端使用自动化生成的校验规则时,通过AOP的形式将校验规则注入校验,校验自动化生成的校验规则中的属性为字段类型、字符串长度、是否为空、最大值和最小值;
S5、前端使用自动化生成的校验规则时,后端提供一个统一的校验规则查询接口,通过注解标注出此接口需要使用的校验规则,找到表单验证与后端生成的校验规则的一种映射,再由校验器框架将校验规则转换为前端可以识别的规则。
优选的:所述约束通过注解的形式放置在映射的对象中。
优选的:所述通过表结构生成的校验规则若还不满足需求,可以通过后期手动加入。
优选的:所述代码在生成的过程中,将错误提示语句通过列的注释进行加入。
优选的:所述校验规则由SDK提供注解。
优选的:所述字段类型、字符串长度、是否为空、最大值和最小值的值均不能为空。
本发明提出的一种前后端统一校验方法,有益效果在于:本发明打破了前后端分别使用自己的校验规则导致同时存在多份规则,提高了校验的准确性和便捷性,减少了校验带来的较大的工作量,降低了前端和后端的沟通成本,而且本发明的此设计思想新颖高效,从系统整体架构去解决问题的,通过使用本领域熟悉的技术对开发人员是透明实现。
具体实施方式
下面对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。
一种前后端统一校验方法,包括以下步骤:
S1、在服务器内通过编写代码生成器,将数据库中的表结构映射到代码中的对象,在映射的过程中,得到表中列的约束,生成自动化的校验规则,约束通过注解的形式放置在映射的对象中,通过表结构生成的校验规则若还不满足需求,可以通过后期手动加入,代码在生成的过程中,将错误提示语句通过列的注释进行加入;
S2、加载自动化的校验规则,将自动化的校验规则载入代码检验工具内,通过代码检验工具对自动化的校验规则进行检验,校验自动化的校验规则内参数是否合法,校验规则由SDK提供注解;
S3、若S2中自动化的校验规则中的参数校验不合法,则将不合法的参数进标记,在自动化的校验规则中的代码校验完成后,将标记的错误代码提取出来去掉或更改,之后重新编入一个合法的代码,若校验的参数合法,则存储在后端;
S4、后端使用自动化生成的校验规则时,通过AOP的形式将校验规则注入校验,校验自动化生成的校验规则中的属性为字段类型、字符串长度、是否为空、最大值和最小值,字段类型、字符串长度、是否为空、最大值和最小值的值均不能为空。;
S5、前端使用自动化生成的校验规则时,后端提供一个统一的校验规则查询接口,通过注解标注出此接口需要使用的校验规则,找到表单验证与后端生成的校验规则的一种映射,再由校验器框架将校验规则转换为前端可以识别的规则。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。

Claims (6)

1.一种前后端统一校验方法,其特征在于,包括以下步骤:
S1、在服务器内通过编写代码生成器,将数据库中的表结构映射到代码中的对象,在映射的过程中,得到表中列的约束,生成自动化的校验规则;
S2、加载自动化的校验规则,将自动化的校验规则载入代码检验工具内,通过代码检验工具对自动化的校验规则进行检验,校验自动化的校验规则内参数是否合法;
S3、若S2中自动化的校验规则中的参数校验不合法,则将不合法的参数进标记,在自动化的校验规则中的代码校验完成后,将标记的错误代码提取出来去掉或更改,之后重新编入一个合法的代码,若校验的参数合法,则存储在后端;
S4、后端使用自动化生成的校验规则时,通过AOP的形式将校验规则注入校验,校验自动化生成的校验规则中的属性为字段类型、字符串长度、是否为空、最大值和最小值;
S5、前端使用自动化生成的校验规则时,后端提供一个统一的校验规则查询接口,通过注解标注出此接口需要使用的校验规则,找到表单验证与后端生成的校验规则的一种映射,再由校验器框架将校验规则转换为前端可以识别的规则。
2.根据权利要求1所述的一种前后端统一校验方法,其特征在于:所述约束通过注解的形式放置在映射的对象中。
3.根据权利要求1所述的一种前后端统一校验方法,其特征在于:所述通过表结构生成的校验规则若还不满足需求,可以通过后期手动加入。
4.根据权利要求1所述的一种前后端统一校验方法,其特征在于:所述代码在生成的过程中,将错误提示语句通过列的注释进行加入。
5.根据权利要求1所述的一种前后端统一校验方法,其特征在于:所述校验规则由SDK提供注解。
6.根据权利要求1所述的一种前后端统一校验方法,其特征在于:所述字段类型、字符串长度、是否为空、最大值和最小值的值均不能为空。
CN201810795360.3A 2018-07-19 2018-07-19 一种前后端统一校验方法 Active CN108920140B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810795360.3A CN108920140B (zh) 2018-07-19 2018-07-19 一种前后端统一校验方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810795360.3A CN108920140B (zh) 2018-07-19 2018-07-19 一种前后端统一校验方法

Publications (2)

Publication Number Publication Date
CN108920140A CN108920140A (zh) 2018-11-30
CN108920140B true CN108920140B (zh) 2022-03-01

Family

ID=64413997

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810795360.3A Active CN108920140B (zh) 2018-07-19 2018-07-19 一种前后端统一校验方法

Country Status (1)

Country Link
CN (1) CN108920140B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109725954A (zh) * 2018-12-21 2019-05-07 中链科技有限公司 一种动态数据项处理方法及系统
CN110083530A (zh) * 2019-03-21 2019-08-02 平安普惠企业管理有限公司 基于自动校验工具的数据校验方法、装置和计算机设备
CN110097331A (zh) * 2019-03-28 2019-08-06 东软集团股份有限公司 业务表单的校验方法、装置、存储介质和电子设备
CN110569036B (zh) * 2019-08-20 2023-09-22 广州华资软件技术有限公司 一种前后端分离架构下的数据校验系统及其方法
CN110826004A (zh) * 2019-11-05 2020-02-21 杭州安恒信息技术股份有限公司 一种前端请求数据的处理方法及相关装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102426549A (zh) * 2011-09-08 2012-04-25 新一站保险代理有限公司 一种高效的Web的表单校验方法及其框架
CN104270395A (zh) * 2014-10-24 2015-01-07 中国建设银行股份有限公司 一种输入数据校验的方法、装置及系统
CN105487864A (zh) * 2015-11-26 2016-04-13 北京京东尚科信息技术有限公司 代码自动生成的方法和装置
CN106648690A (zh) * 2016-12-29 2017-05-10 北京恒华伟业科技股份有限公司 一种代码自动生成方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102426549A (zh) * 2011-09-08 2012-04-25 新一站保险代理有限公司 一种高效的Web的表单校验方法及其框架
CN104270395A (zh) * 2014-10-24 2015-01-07 中国建设银行股份有限公司 一种输入数据校验的方法、装置及系统
CN105487864A (zh) * 2015-11-26 2016-04-13 北京京东尚科信息技术有限公司 代码自动生成的方法和装置
CN106648690A (zh) * 2016-12-29 2017-05-10 北京恒华伟业科技股份有限公司 一种代码自动生成方法及装置

Also Published As

Publication number Publication date
CN108920140A (zh) 2018-11-30

Similar Documents

Publication Publication Date Title
CN108920140B (zh) 一种前后端统一校验方法
CN104965735B (zh) 用于生成升级sql脚本的装置
CN106970819B (zh) 一种基于prdl规则描述语言的c程序代码规范检查装置
US8782081B2 (en) Query template definition and transformation
WO2020233330A1 (zh) 批量测试方法、装置及计算机可读存储介质
US10614126B2 (en) Textual query editor for graph databases that performs semantic analysis using extracted information
CN105760292B (zh) 一种用于单元测试的断言验证方法和装置
CN109614315B (zh) 一种数据同步测试用例的自动生成方法及系统
CN103744651A (zh) 一种面向业务需求的业务处理模型自动生成方法
CN106919612A (zh) 一种上线结构化查询语言脚本的处理方法及装置
CN103077093A (zh) 基于模型对象化语义的scd校验方法
US20220222253A1 (en) Sql statement generator
Wang et al. Detecting SQL vulnerability attack based on the dynamic and static analysis technology
CN109753639B (zh) 前后台统一校验方法,装置,存储介质及电子设备
CN106919374B (zh) 一种脚本生成方法和装置
CN107273293B (zh) 大数据系统性能测试方法、装置及电子设备
CN109522595A (zh) 一种基于核电厂验证平台的功能图导入自动诊断方法
TW201734843A (zh) 資料分析方法及裝置
CN111177181A (zh) Sql文本审核方法、系统、存储介质及装置
CN116389049A (zh) 一种针对单数据流的数据安全分析方法及装置
CN108829578A (zh) 一种cdr关联回填准确性自动化测试方法及系统
CN107391372A (zh) 一种数据加工功能测试方法及系统
Dubochet On embedding domain-specific languages with user-friendly syntax
CN112130849A (zh) 代码自动生成方法及装置
CN111723104A (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
GR01 Patent grant
GR01 Patent grant
CP01 Change in the name or title of a patent holder

Address after: 050091 room 1001-1020, North building, Internet of things building, 368 Xinshi North Road, Shijiazhuang City, Hebei Province

Patentee after: ZHONGKE HENGYUN Co.,Ltd.

Patentee after: Guizhou Zhongke Hengyun Software Technology Co., Ltd

Address before: 050091 room 1001-1020, North building, Internet of things building, 368 Xinshi North Road, Shijiazhuang City, Hebei Province

Patentee before: HEBEI ZHONGKE HENGYUN SOFTWARE TECHNOLOGY Co.,Ltd.

Patentee before: Guizhou Zhongke Hengyun Software Technology Co., Ltd

CP01 Change in the name or title of a patent holder