一种控件输入值校验方法及系统的制作方法

文档序号:6340767阅读:299来源:国知局
专利名称:一种控件输入值校验方法及系统的制作方法
技术领域
本发明涉及计算机控件领域,尤其涉及一种控件输入值校验方法及系统。
背景技术
在计算机技术领域内,控件实际上是子窗口,在应用程序与用户进行交互的过 程中,控件是主要角色。以Windows操作系统为例,Windows提供了五花八门的标准控 件,这些控件的目的就是方便程序与用户的交互。控件可以有自己的属性和方法,在标准的控件中,通常只定义了控件运行所需 的最基本的默认属性。在实际的应用中,开发人员常常需要根据应用要求生成一些新的 用户控件并对这些控件设置一些必要的自定义属性,使用这些用户控件时,开发人员还 需要对界面元素的用户控件的输入进行校验,以判断输入的字符是否和该用户控件的自 定义属性相符。现有技术中一般采用在客户端编写计算机脚本语言(Javascript,JS)或在后台编 写代码的方式来设置用户控件的自定义属性及校验用户控件输入值的正确性和有效性。 这两种方式只能满足当前用户控件的需要,对于另一个用户控件又需要再编写另外的计 算机脚本语言或后台代码进行自定义属性和校验。如果一个界面包含很多用户控件时, 就需要编写很多JS或后台代码,且以后每增加或修改一个控件都需要再次编写JS或后台 代码,这样就给后续的开发和维护带来重复的劳动,极大地浪费了人力资源且提高了成 本。

发明内容
本发明要解决的技术问题在于,针对现有技术中由于用户控件的输入值校验方 法的单一性和针对性而导致重复劳动这一缺陷,提供一种通用快速的控件输入值校验方 法及系统。本发明解决其技术问题所采用的技术方案是提供一种控件输入值校验方法, 包括以下步骤Si、判断控件是否存在自定义属性,若否,结束校验过程,若是,执行步骤 S2,所述自定义属性预先设置在所述控件的自定义属性格式包中;S2、调用所述控件的输入值,所述输入值由用户输入到所述控件的窗口中;S3、将所述控件的所述输入值与所述控件的自定义属性格式包中的每个自定义 属性进行比对并输出校验结果,其中若所述每个自定义属性均符合则所述输入值合法, 否则所述输入值不合法。本发明一种控件输入值校验方法中,还包括在所述校验结果为合法时保存所述 输入值并进行其它处理,在所述校验结果为非法时输出表示输入错误的提示信息。本发明一种控件输入值校验方法中,所述自定义属性格式包包括用于限制输入 值的自定义属性项,所述用于限制输入值的自定义属性项包括输入值类型项、允许输入字符长度项、不允许输入的字符类型项。 本发明一种控件输入值校验方法中,所述自定义属性格式包还包括用于标识所 述控件的输入是否为必填项的是否必填设置项、用于表示所述控件类型的基础元素类项 和用于表示所述输入值在所述控件显示窗体内显示形式的显示类型项。本发明一种控件输入值校验方法中,步骤S3还包括当所述输入值不合法时,根 据所述是否必填设置项判断所述控件的输入是否为必填项,若是则输出表示输入错误的 提示信息,若否则输出表示忽略该输入值的指示信息。本发明还提供了一种控件输入值校验系统,包括属性判断模块,用于判断控件是否存在自定义属性并输出判断结果,所述自定 义属性预先设置在所述控件的自定义属性格式包中;校验接口,用于传输所述控件的输入值,所述输入值由用户输入到所述控件的 窗口中;校验包,用于将通过所述校验接口调用的所述输入值与所述控件的自定义属性 格式包中的每个自定义属性进行比对,并输出校验结果;处理模块,用于从所述属性判断模块接收判断结果并在所述判断结果为是时指 示所述校验接口将所述输入值传送给所述校验包。本发明一种控件输入值校验系统中,所述处理模块还用于在所述属性判断模块 输出的判断结果为否时保存输入值并进行其它处理,并用于从所述校验包接收校验结 果,在所述校验结果为合法时保存所述输入值并进行其它处理,在所述校验结果为非法 时输出表示输入错误的提示信息。本发明一种控件输入值校验系统中,所述自定义属性格式包包括用于限制输入 值的自定义属性项,所述用于限制输入值的自定义属性项包括输入值类型项、允许输入 字符长度项、不允许输入的字符类型项。本发明一种控件输入值校验系统中,所述自定义属性格式包还包括用于标识所 述控件的输入是否为必填项的是否必填设置项、用于表示所述控件类型的基础元素类项 和用于表示所述输入值在所述控件显示窗体内显示形式的显示类型项。本发明一种控件输入值校验系统中,所述校验包还用于在所述输入值不合法时 根据所述是否必填设置项判断所述控件的输入是否为必填项,若是则输出表示所述输入 不合法的校验结果,若否则向所述处理模块输出表示忽略该输入值的指示信息以便所述 处理模块进行其它处理。本发明一种控件输入值校验方法及系统的有益效果为根据控件的自定义属性 格式包,能够对不同控件的输入值进行快速校验,具有较高的复用性和扩展性,能够进 行二次开发优化,节省了后续开发和维护的时间、人力及成本,达到事半功倍的效果。


下面将结合附图及实施例对本发明作进一步说明,附图中图1是现有技术中控件输入值校验方法的示意图;图2是根据本发明一个实施例的控件生成过程的示意图;图3是根据本发明一个实施例的控件自定义属性格式包的示意图4是根据本发明一个实施例的控件输入值校验系统的结构示意图;图5是根据本发明一个实施例的控件输入值校验方法的流程图。
具体实施例方式为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施 例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释 本发明,并不用于限定本发明。图2是根据本发明一个实施例的控件生成过程的示意图。在该实施例中,对控 件的输入值进行校验前,首先要创建控件。在该实施例中,控件创建方法包括以下步 骤构建一个控件对象并将该控件对象在指定的界面位置上排版好,然后设置控件相关 自定义属性,最后调用控件对象的Create成员函数创建控件。控件的属性是程序设计时 为该控件对象指定的一个数据存储空间。在本发明的一个实施例中,控件的自定义属性 可以包括输入值类型、允许输入字符长度、不允许输入的字符类型。在本发明的另一个 实施例中,控件的自定义属性还可以包括该控件输入值是否为必填项。图3根据本发明一个实施例的控件自定义属性格式包的示意图。在本发明的 各种实施例中,可以将生成控件的自定义属性设置在一个自定义属性格式包中。在如 图3所示的实施例中,自定义属性格式包包括输入值类型项inputtype、不允许输入的字 符类型项forbiddenchars、允许输入字符长度项maxlength、控件的基础元素类项class、 是否必填设置项req以及显示类型项style。其中,输入值类型表示该控件允许输入的字 符类型,其并不限于文字text,还可以包括字符、数字、时间等;不允许输入的字符类 型表示该控件的输入值中不能出现的字符,其并不限于字符“@_%# |.,; ' " & &lt ; &gt ; ”,还可以扩展为任意不符合应用要求的字符;允许输入字 符长度表示该控件的输入值的最大长度,其并不限于30,还可以包括任意合适数值,例 如50,用于表明该控件的输入最多只能录入不超过50个字符的值;控件的基础元素类包 括图片元素类和文本元素类,在基础元素类的基础上还可以构建出多种控件,例如滚动 条控件、选择框控件、文本框编辑控件等;是否必填设置项用于标识该控件的输入是否 为必填项,在本发明的一个实施例中,控件的输入为必填项时可将req设置为1,反之则 设置为0; style可以用于设置该控件在显示窗口中的显示类型,显示类型并不限于宽度 width,还可以字体类型、字体大小、字体颜色和字体阴影效果等,也可以是其中的一种 或任意组合。图4是根据本发明一个实施例的控件输入值校验系统的结构示意图。在该实施 例中,一种控件输入值校验系统包括属性判断模块410、校验接口 420、校验包430和处 理模块440。 属性判断模块410,用于判断控件是否存在自定义属性并输出判断结果。控件的 自定义属性可以预先设置在该控件的自定义属性格式包中,在本发明的一个实施例中, 自定义属性格式包如图3所示。自定义属性格式包包括输入值类型项、允许输入字符长 度项、不允许输入的字符类型项以及是否必填设置项,输入值类型又可以包括字符、数 字、时间、文字等。在本发明的另一个实施例中,自定义属性格式包还包括用于表示该 控件类型的基础元素类项和用于表示该控件的输入值在该控件显示窗体内显示形式的显示类型项。属性判断模块410在判断完成后,向处理模块440输出判断结果,以便于处 理模块440根据判断结果判断是否需要进行后续校验。校验接口 420,用于根据处理模块440的指示将控件的输入值传输给校验包430 以便进行校验。控件的输入值由用户输入到该控件的窗口中。在本发明的一个实施例 中,校验接口 420还可以用于缓存控件的输入值。
校验包430,用于将通过校验接口 420调用的该控件的输入值与该控件的自定 义属性格式包中的每个自定义属性项进行比对,并向处理模块440输出校验结果。例 如,当自定义属性包中包括不允许输入的字符项时,校验包430可以用于将输入值与自 定义属性中定义的不允许输入的字符串进行一一比对,若该输入值与其中的一个字符串 相符,则表示该输入值不合法,校验包430可以向处理模块440输出表示该输入值不合法 的校验结果。又例如,当自定义属性包中包括允许输入的字符长度项时,校验包430可 以用于将输入值的长度与自定义属性中定义的允许输入字符的最大长度进行比对,若该 输入值的长度大于该最大长度,则表示该输入值不合法,校验包430可以向处理模块440 输出表示该输入值不合法的校验结果。当该输入值符合自定义属性包中所有用于限制输 入值的自定义属性时,表示该输入值合法,校验包430可以向处理模块440输出表示该输 入值合法的校验结果。在本发明的一个较佳实施例中,校验包430还可以用于在控件的输入值不合法 时根据自定义属性包中的是否必填设置项判断该控件的输入是否为必填项。例如,是否 必填设置项为1时表示该控件的输入为必填项,为0时表示该控件的输入不是必填项。当 该控件的输入为必填项时,校验包430可以向处理模块440输出表示该输入值不合法的校 验结果,而当该控件的输入不是必填项时,校验包430可以向处理模块440输出表示忽略 该输入值的指示信息以便处理模块440进行其它处理。处理模块440,可以用于在属性判断模块410输出的判断结果为否时保存输入值 并进行其它处理,还可以在属性判断模块410输出的判断结果为是时指示校验接口 420将 输入值传送给校验包430以便校验包430对该控件的输入值的正确性与合法性进行校对。 另外,处理模块440还可以用于在校验包430输出表示该输入值合法的校验结果时保存该 输入值并进行其它处理,并在校验包430输出表示该输入值不合法的校验结果时输出表 示输入错误的提示信息。上述其它处理可以包括进行下一个控件的输入值校验、关闭该 页面窗口、转向另一个页面窗口和/或将该输入值传送给应用程序。在工作过程中,用户在该控件对应的页面窗口中填入输入值并点击“确认”按 钮来完成输入值的填写,控件辨识出用户的操作并启用控件输入值校验系统对输入值进 行校验。首先,控件输入值校验系统中的属性判断模块410判断控件是否存在自定义属 性,在判断完成后,向处理模块440输出判断结果,以便于处理模块440根据判断结果判 断是否需要进行后续校验。处理模块440可以在属性判断模块410输出的判断结果为否 时保存输入值并进行其它处理,还可以在属性判断模块410输出的判断结果为是时指示 校验接口 420将输入值传送给校验包430以便校验包430对该控件的输入值的正确性与合 法性进行校对。校验包430将通过校验接口 420调用的该控件的输入值与该控件的自定 义属性格式包中的每个用于限制输入值的自定义属性项进行比对以判断该输入值是否合 法。例如,当自定义属性包中包括不允许输入的字符项时,校验包430可以用于将输入值与自定义属性中定义的不允许输入的字符串进行一一比对,若该输入值与其中的一个字符串相符,则表示该输入值不合法。又例如,当自定义属性包中包括允许输入的字符 长度项时,校验包430可以用于将输入值的长度与自定义属性中定义的允许输入字符的 最大长度进行比对,若该输入值的长度大于该最大长度,则表示该输入值不合法。当该 输入值符合自定义属性包中所有用于限制输入值的自定义属性时,表示该输入值合法。 这时,校验包430可以向处理模块440输出表示该输入值合法的校验结果,并由处理模块 440保存该输入值并进行其它处理。当输入值不符合自定义属性包中任意一项或多项用 于限制输入值的自定义属性时,表示该输入值不合法。这时,校验包430可以根据自定 义属性包中的是否必填设置项判断该控件的输入是否为必填项。当该控件的输入为必填 项时,校验包430可以向处理模块440输出表示该输入值不合法的校验结果,并由处理模 块440向用户输出表示输入错误的提示信息。而当该控件的输入不是必填项时,校验包 430可以向处理模块440输出表示忽略该输入值的指示信息以便处理模块440进行其它处 理。上述其它处理可以包括进行下一个控件的输入值校验、关闭该页面窗口、转向另一 个页面窗口和/或将该输入值传送给应用程序。图5是根据本发明一个实施例的控件输入值校验方法的流程图。在本实施例 中,控件的自定义属性预先设置在该控件的自定义属性格式包中。自定义属性格式包可 以包括用于限制输入值的自定义属性项,这些用于限制输入值的自定义属性项可以包括 但不限于输入值类型项、允许输入字符长度项和/或不允许输入的字符类型项。自定义 属性格式包还可以包括用于标识该控件的输入是否为必填项的是否必填设置项。另外, 自定义属性格式包还可以包括用于表示该控件类型的基础元素类项和用于表示该输入值 在该控件对应显示窗体内显示形式的显示类型项。在本实施例中,一种控件输入值校验方法开始于步骤Si。在步骤Sl中,判断 控件是否存在自定义属性。若否,结束校验过程,在本发明的一个实施例中,还可以保 存该输入值并进行其它处理,其它处理包括进行下一个控件的输入值校验、关闭该页面 窗口、转向另一个页面窗口和/或将该输入值传送给应用程序;若是,该方法将继续于 步骤S2 ο在步骤S2中,调用该控件的输入值,该输入值由用户输入到该控件对应的页面 窗口中。在步骤S3中,将该控件的输入值与该控件的自定义属性格式包中的每个自定义 属性进行一一比对以便判断该输入值是否合法并输出校验结果。例如,当自定义属性包 中包括不允许输入的字符项时,可以将输入值与自定义属性中定义的不允许输入的字符 串进行一一比对,若该输入值与其中的一个字符串相符,则表示该输入值不合法。又例 如,当自定义属性包中包括允许输入的字符长度项时,校验包430可以用于将输入值的 长度与自定义属性中定义的允许输入字符的最大长度进行比对,若该输入值的长度大于 该最大长度,则表示该输入值不合法。当该输入值符合自定义属性包中所有用于限制输 入值的自定义属性时,表示该输入值合法。而当输入值不符合自定义属性包中任意一项 或多项用于限制输入值的自定义属性时,表示该输入值不合法。在本发明的一个实施例 中,若该输入值合法,保存该输入值并进行其它处理,若该输入值不合法,向用户输出 表示输入错误的提示信息。在本发明的一个较佳实施例中,当该输入值不合法时,还可以根据自定义属性格式包中的是否必填设置项判断该控件的输入是否为必填项,若是则 输出表示输入错误的提示信息,若否则直接进行其它处理。本发 明可以根据控件的自定义属性格式包,对不同控件的输入值进行快速校 验,具有较高的复用性和扩展性,能够进行二次开发优化,节省了后续开发和维护的时 间、人力及成本,达到事半功倍的效果。虽然本发明是通过具体实施例进行说明的,本领域技术人员应当明白,在不脱 离本发明范围的情况下,还可以对本发明进行各种变换及等同替代。另外,针对特定情 形或材料,可以对本发明做各种修改,而不脱离本发明的范围。因此,本发明不局限于 所公开的具体实施例,而应当包括落入本发明权利要求范围内的全部实施方式。
权利要求
1.一种控件输入值校验方法,其特征在于,包括以下步骤51、判断控件是否存在自定义属性,若否,结束校验过程,若是,执行步骤S2,所 述自定义属性预先设置在所述控件的自定义属性格式包中;52、调用所述控件的输入值,所述输入值由用户输入到所述控件的窗口中;53、将所述控件的所述输入值与所述控件的自定义属性格式包中的每个自定义属性 进行比对并输出校验结果,其中若所述每个自定义属性均符合则所述输入值合法,否则 所述输入值不合法。
2.根据权利要求1所述的控件输入值校验方法,其特征在于,还包括,在所述校验结 果为合法时保存所述输入值并进行其它处理,在所述校验结果为非法时输出表示输入错 误的提示信息。
3.根据权利要求1或2所述的控件输入值校验方法,其特征在于,所述自定义属性格 式包包括用于限制输入值的自定义属性项,所述用于限制输入值的自定义属性项包括输 入值类型项、允许输入字符长度项、不允许输入的字符类型项。
4.根据权利要求3所述的控件输入值校验方法,其特征在于,所述自定义属性格式 包还包括用于标识所述控件的输入是否为必填项的是否必填设置项、用于表示所述控件 类型的基础元素类项和用于表示所述输入值在所述控件显示窗体内显示形式的显示类型 项。
5.根据权利要求4所述的控件输入值校验方法,其特征在于,步骤S3还包括当所述 输入值不合法时,根据所述是否必填设置项判断所述控件的输入是否为必填项,若是则 输出表示输入错误的提示信息,若否则输出表示忽略该输入值的指示信息。
6.—种控件输入值校验系统,其特征在于,包括属性判断模块,用于判断控件是否存在自定义属性并输出判断结果,所述自定义属 性预先设置在所述控件的自定义属性格式包中;校验接口,用于传输所述控件的输入值,所述输入值由用户输入到所述控件的窗口中;校验包,用于将通过所述校验接口调用的所述输入值与所述控件的自定义属性格式 包中的每个自定义属性进行比对,并输出校验结果;处理模块,用于从所述属性判断模块接收判断结果并在所述判断结果为是时指示所 述校验接口将所述输入值传送给所述校验包。
7.根据权利要求6所述的控件输入值校验系统,其特征在于,所述处理模块还用于在 所述属性判断模块输出的判断结果为否时保存输入值并进行其它处理,并用于从所述校 验包接收校验结果,且在所述校验结果为合法时保存所述输入值并进行其它处理,在所 述校验结果为非法时输出表示输入错误的提示信息。
8.根据权利要求6或7所述的控件输入值校验系统,其特征在于,所述自定义属性格 式包包括用于限制输入值的自定义属性项,所述用于限制输入值的自定义属性项包括输 入值类型项、允许输入字符长度项、不允许输入的字符类型项。
9.根据权利要求8所述的控件输入值校验系统,其特征在于,所述自定义属性格式 包还包括用于标识所述控件的输入是否为必填项的是否必填设置项、用于表示所述控件 类型的基础元素类项和用于表示所述输入值在所述控件显示窗体内显示形式的显示类型项。
10.根据权利要求9所述的控件输入值校验系统,其特征在于,所述校验包还用于在所 述输入值不合法时根据所述是否必填设置项判断所述控件的输入是否为必填项,若是则 输出表示所述输入不合法的校验结果,若否则向所述处理模块输出表示忽略该输入值的 指示信息以便所述处理模块进行其它处理。
全文摘要
本发明公开了一种控件输入值校验方法,包括以下步骤S1、判断控件是否存在自定义属性,若否,结束校验过程,若是,执行步骤S2,所述自定义属性预先设置在所述控件的自定义属性格式包中;S2、调用所述控件的输入值,所述输入值由用户输入到所述控件的窗口中;S3、将所述控件的所述输入值与所述控件的自定义属性格式包中的每个自定义属性进行比对并输出校验结果,其中若所述每个自定义属性均符合则所述输入值合法,否则所述输入值不合法。本发明根据控件的自定义属性格式包,能够对不同控件的输入值进行快速校验,具有较高的复用性和扩展性,能够进行二次开发优化,节省了后续开发和维护的时间、人力及成本,达到事半功倍的效果。
文档编号G06F9/44GK102023869SQ201010615870
公开日2011年4月20日 申请日期2010年12月30日 优先权日2010年12月30日
发明者叶青 申请人:深圳联友科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1