0

我正在尝试验证两个字段,一个是数字,另一个是 url。此字段中至少有一个必须具有有效值。如果 number 字段具有值并且它是有效的数字,或者如果 url 字段存在并且它是有效的 url,则验证通过。

我正在使用“requiredif”和“mask”来检查这一点。以下是号码检查的示例,

<field property="nombre"
                 depends="requiredif,mask">
              <msg
                name="mask"
                key="errors.nombre"/>
                    <arg0 key="nombre"/>

              <msg
                name="requiredif"
                key="errors.validateNombreUrl"/>
                    <arg0 key="nombre"/>

              <var>
                <var-name>mask</var-name>
                <var-value>${nombre}</var-value>
              </var>

              <var>
                <var-name>url</var-name>
                <var-value>((url == null) and (*this* == null))</var-value>
              </var>
          </field>

以这种类似的方式,我也在检查 url 字段。但是我看到验证器验证了这两个字段并显示了错误,因此这两个字段都是必需的。如何将其作为 OR 条件?我不确定 var 值中的表达式是否适合 requiredif,因为我发现它仅适用于 validwhen(由于版本问题我无法使用)。如何在 OR 条件下验证这两个字段?

4

1 回答 1

0

你没有说你正在使用什么 Struts 版本,但是 requiredif 已经被弃用了......很长一段时间。您应该使用validwhen,在此处描述。有一个你想要的例子。

于 2011-09-09T03:39:57.527 回答