Java 使用Struts验证器,我可以检查所有字段是否为空吗?

Java 使用Struts验证器,我可以检查所有字段是否为空吗?,java,validation,struts-1,struts-validation,Java,Validation,Struts 1,Struts Validation,我正在重写一个旧项目的一部分,以利用 <field property="idNumber" depends="mask"> <msg name="mask" key="error.formating.idnumber" /> <arg position="0" value="SearchForm.idNumber" /> <var>

我正在重写一个旧项目的一部分,以利用

        <field property="idNumber" depends="mask">
            <msg name="mask" key="error.formating.idnumber" />
            <arg position="0" value="SearchForm.idNumber" />
            <var>
                <var-name>mask</var-name>
                <var-value>${maskIdNumber}</var-value>
            </var>
        </field>
我已经在每个字段上修改了验证规则,使用了一个可以在其他形式中重用的正则表达式,例如:

        <field property="idNumber" depends="mask">
            <msg name="mask" key="error.formating.idnumber" />
            <arg position="0" value="SearchForm.idNumber" />
            <var>
                <var-name>mask</var-name>
                <var-value>${maskIdNumber}</var-value>
            </var>
        </field>

        <field property="idNumber" depends="mask">
            <msg name="mask" key="error.formating.idnumber" />
            <arg position="0" value="SearchForm.idNumber" />
            <var>
                <var-name>mask</var-name>
                <var-value>${maskIdNumber}</var-value>
            </var>
        </field>
只有在字段idNumber不为空时才会尝试测试,对吗?常见问题解答指出:

        <field property="idNumber" depends="mask">
            <msg name="mask" key="error.formating.idnumber" />
            <arg position="0" value="SearchForm.idNumber" />
            <var>
                <var-name>mask</var-name>
                <var-value>${maskIdNumber}</var-value>
            </var>
        </field>
如果 字段为空或长度为零

        <field property="idNumber" depends="mask">
            <msg name="mask" key="error.formating.idnumber" />
            <arg position="0" value="SearchForm.idNumber" />
            <var>
                <var-name>mask</var-name>
                <var-value>${maskIdNumber}</var-value>
            </var>
        </field>
我尝试过使用validwhen,但它是在Stuts1.2中引入的,我现在使用的是1.1,因此我得到了一个错误,没有为字段idNumber找到名为validwhen的ValidatorAction

        <field property="idNumber" depends="mask">
            <msg name="mask" key="error.formating.idnumber" />
            <arg position="0" value="SearchForm.idNumber" />
            <var>
                <var-name>mask</var-name>
                <var-value>${maskIdNumber}</var-value>
            </var>
        </field>
我可以使用requiredif,但它可能使用了我见过的最糟糕的语法

        <field property="idNumber" depends="mask">
            <msg name="mask" key="error.formating.idnumber" />
            <arg position="0" value="SearchForm.idNumber" />
            <var>
                <var-name>mask</var-name>
                <var-value>${maskIdNumber}</var-value>
            </var>
        </field>
相反,我采用了Struts validator框架和validate方法中的技术:

        <field property="idNumber" depends="mask">
            <msg name="mask" key="error.formating.idnumber" />
            <arg position="0" value="SearchForm.idNumber" />
            <var>
                <var-name>mask</var-name>
                <var-value>${maskIdNumber}</var-value>
            </var>
        </field>