一种表单校验处理方法和设备技术

技术编号:14290680 阅读:45 留言:0更新日期:2016-12-25 20:59
本申请实施例公开了一种表单校验处理方法和设备,包括:获取需要进行校验处理的文档对象模型dom;判断所述dom是否为表单控件;当判断结果为是,获取所述表单控件的校验配置信息,并根据所述校验配置信息对所述dom进行校验处理。当页面发生变化时,只需要对该增加或移除的dom的进行校验处理,简化了表单开发过程,减少了代码维护成本。

【技术实现步骤摘要】

本申请涉及网络
,特别是涉及一种表单校验处理方法和设备
技术介绍
表单是整个互联网的输入端,承担着重大职责,因而对输入内容的前端校验变得非常重要,具有保证数据安全性和对用户进行提醒的双重作用,在实际表单开发中,表单校验占据了很大工作量。复杂表单中,表单的结构经常会发生变化,引起表单中字段的增删。例如,产品表单中,指定不同的产品类目,会导致产品属性对应字段的变化。为了处理这种变化,现有技术中必须先移除先前字段的校验然后移除html(Hypertext Markup Language,超文本标记语言);在新html创建好后,再对其中的控件一一添加校验。现有技术中提供了如下方法用于简化表单校验过程:方法一、Html5标准中只需要移除、增加表单控件,不需要做额外的代码处理。方法二、其他js validator,提供了针对单个表单控件的表单校验添加、移除方法。针对于方法一,Html5标准局限性很多,例如浏览器兼容性支持、内置校验规则过少,校验出错、文案配置使用不便等;而且,由于校验规则都已经写在html表单控件上,校验规则的复用变得困难。因为这些原因,Html5原生表单校验无法在大部分表单场景中使用。针对于方法二,由于传统js validator缺乏dom容器的校验机制,导致开发人员在程序中必须手动维护一些表单控件集及其配置文件,而且维护的过程中形成了css selector(或者表单控件dom)依赖,增加了程序代码的复杂度。譬如,动态增加某一区域的表单字段时,开发人员必须硬编码获取对应的表
单控件dom,获取其配置文件,然后一一为其添加校验;整个过程非常繁琐,费时费力。专利技术人在实现本专利技术的过程中,发现现有技术中存在如果下技术问题:在复杂表单场景中,表单的字段常常根据页面的结构发生变化,无论增加或移除字段,都需要对每个字段增加或移除校验规则,在对增加或移除的字段进行校验时,都是对表单控件增加或移除校验,而表单含有众多表单控件,且是分散的,管理不便,对他们进行校验添加/移除校验,自然成本很高。
技术实现思路
本申请实施例提供一种表单校验方法,用于实现表单校验,包括:获取需要进行校验处理的文档对象模型dom;判断所述dom是否为表单控件;当判断结果为是,获取所述表单控件的校验配置信息,并根据所述校验配置信息对所述dom进行校验处理。当判断结果为否,则判断所述dom的孩子节点中是否包含表单控件;如果所述dom的孩子节点中包含表单控件,则获取所述表单控件的校验配置信息,并根据所述校验配置信息对所述dom进行校验处理。其中,所述获取所述表单控件的校验配置信息,包括:通过对所述表单控件的dom元素特性扫描获取所述表单控件的校验配置信息,或扫描表单控件,当表单控件与预设的匹配策略匹配时,获取所述表单控件的校验配置信息。其中,所述校验处理包括:增加校验或移除校验。本申请实施例还提供一种表单校验设备,包括:获取模块,用于获取需要进行校验处理的文档对象模型dom;判断模块,用于判断所述获取模块获取的dom是否为表单控件;校验模块,用于当所述dom为表单控件时,获取表单控件的校验配置信息,并根据所述校验配置信息对所述dom进行校验处理。判断模块,还用于当所述dom不是表单控件时,判断所述dom的孩子节点中是否包含表单控件;校验模块,还用于当所述dom的孩子节点中包含表单控件时,获取所述表单控件的校验配置信息,并根据所述校验配置信息对所述dom进行校验处理。其中,所述校验模块,还用于:通过对所述表单控件的dom元素特性扫描获取所述表单控件的校验配置信息,或扫描表单控件,当表单控件与预设的匹配策略匹配时,获取所述表单控件的校验配置信息。其中,所述校验处理包括:增加校验或移除校验。本申请实施例具有以下优点:获取需要进行校验处理的文档对象模型dom;判断所述dom是否为表单控件;当判断结果为是,获取所述表单控件的校验配置信息,并根据所述校验配置信息对所述dom进行校验处理。当页面发生变化时,只需要对该增加或移除的dom的进行校验处理,简化了表单开发过程,减少了代码维护成本。附图说明为了更清楚地说明本申请或现有技术中的技术方案,下面将对本申请或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本申请实施例中一种表单校验处理方法的流程图;图2为本申请实施例中一种表单增加校验方法的流程图;图3为本申请实施例中一种表单增加校验方法的流程示意图;图4为本申请实施例中一种表单校验处理设备的结构示意图。具体实施方式本申请的实施例包括:获取需要校验的文档对象模型dom;判断所述dom
是否为表单控件;当判断结果为是,获取所述表单控件的校验配置信息,并根据所述校验配置信息对所述dom进行校验处理。下面将结合本申请中的附图,对本申请中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。如图1所示,为本申请实施例提供的一种表单校验处理方法,具体包括以下步骤:步骤S101、获取需要进行校验处理的文档对象模型dom;当页面结构发生变化时,如果增加了某个dom,需要对这个dom增加校验;如果移除了某个dom,需要对这个dom移除校验。需要进行校验处理的dom,即为需要增加或移除校验的dom。步骤S102、判断所述dom是否为表单控件。通过判断所述dom的元素类型是否为input或select或textarea或file等表单控件类型,判断所述dom是否为表单控件。如果判断结果为是,则执行步骤S103;如果判断结果为否,则执行步骤S104。步骤S103、获取所述表单控件的校验配置信息,并根据所述校验配置信息对所述dom进行校验处理,结束所述流程。其中,获取所述表单控件的校验配置信息,包括:方式一、通过对所述表单控件的dom元素特性扫描获取所述表单控件的校验配置信息。例如,如果扫描到<input required maxlength=“128”/>,便可以获得此表单控件的校验配置规则为:必填且字符长度最多为128,此种方式兼容,HTML5表单控件校验规则声明方法。方式二、扫描表单控件,当表单控件与预设的匹配策略匹配时,获取所述表单控件的校验配置信息。在进行匹配之前,已经预设了匹配策略及与匹配策略匹配的所有表单控件校验配置池,例如,匹配策略可以为dom属性、特性等,当扫描表单控件
时,如果该表单控件的dom属性、特性等与匹配策略相匹配,则获取该表单控件的校验配置信息。方式三、通过对所述表单控件的dom元素特性扫描获取所述表单控件的校验配置信息,以及扫描表单控件,当表单控件与预设的匹配策略匹配时,获取所述表单控件的校验配置信息共同获取校验配置信息。具体地,可以通过方式一获取部分校验配置信息,并通过方式二获取部分校验配置信息,或者预先设置优先级,根据优先级获取方式一或方式二中的校验配置信息。根据所述校验配置信息对所本文档来自技高网
...
一种表单校验处理方法和设备

【技术保护点】
一种表单校验处理方法,其特征在于,所述方法包括:获取需要进行校验处理的文档对象模型dom;判断所述dom是否为表单控件;当判断结果为是,获取所述表单控件的校验配置信息,并根据所述校验配置信息对所述dom进行校验处理。

【技术特征摘要】
1.一种表单校验处理方法,其特征在于,所述方法包括:获取需要进行校验处理的文档对象模型dom;判断所述dom是否为表单控件;当判断结果为是,获取所述表单控件的校验配置信息,并根据所述校验配置信息对所述dom进行校验处理。2.如权利要求1所述的方法,其特征在于,所述方法还包括:当判断结果为否,则判断所述dom的孩子节点中是否包含表单控件;如果所述dom的孩子节点中包含表单控件,则获取所述表单控件的校验配置信息,并根据所述校验配置信息对所述dom进行校验处理。3.如权利要求1或2所述的方法,其特征在于,所述获取所述表单控件的校验配置信息,包括:通过对所述表单控件的dom元素特性扫描获取所述表单控件的校验配置信息,和/或扫描表单控件,当表单控件与预设的匹配策略匹配时,获取所述表单控件的校验配置信息。4.如权利要求1或2所述的方法,其特征在于,所述校验处理包括:增加校验或移除校验。5.一种表单校验处理设备,其特征在于...

【专利技术属性】
技术研发人员:陈强
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛;KY

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1