代码之家  ›  专栏  ›  技术社区  ›  Veera

Struts对单个字段使用多个验证规则进行验证

  •  0
  • Veera  · 技术社区  · 16 年前

    这可能是一个基本问题:我试图了解下面的Struts验证代码是如何工作的:

    <field property="myField" depends="validwhen, maxlength">
        <msg name="validwhen" key="error1.key" />
        <msg name="maxlength" key="error2.key"/>
        <var>
            <var-name>test</var-name>
            <var-value> isFieldsShown == "no" </var-value>
        </var>
        <var>
            <var-name>maxlength</var-name>
            <var-value>128</var-value>
        </var>
    </field>
    

    是不是像,首先是 验证时 规则已检查,如果成功,则 最大长度 是否选中规则?或者,如果 验证时 返回true,则该字段被视为有效,而不转到 最大长度 有规则吗?

    1 回复  |  直到 16 年前
        1
  •  0
  •   user159088    16 年前

    从我使用验证器框架到现在已经有一段时间了,但据我所知,它是如下所示的。

    验证字段时,如果所有验证都通过,则认为该字段有效。如果至少有一个验证失败,则认为该字段无效。

    如果有一个要运行的验证器列表,那么验证过程应该在第一次失败时退出(如果字段由于验证已失败而被标记为无效,那么运行额外开销的验证就没有意义)。

    文件似乎表明了我的记忆:

    validator.dtd - field.depends attribute : 要应用于此字段的以逗号分隔的验证程序列表。要使字段成功,所有验证程序都必须成功 .

    Field.validate : 依次对每个项运行depends子句中的所有验证,当第一个项失败时返回 .

    推荐文章