Я пытаюсь проверить два поля, одно из которых является числом, а другое - URL-адресом. По крайней мере одно из этих полей должно иметь допустимое значение. Если числовое поле имеет значение и является допустимым числом, или если поле 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. Но я вижу, что валидатор проверяет оба поля и показывает ошибку, так что ОБА поля являются обязательными. Как мне сделать это как условие ИЛИ? Я не уверен, что выражение в значении var подходит для requiredif, потому что я обнаружил, что оно работает только для validwhen (которое я не могу использовать из-за проблем с версией). Как проверить эти два поля по условию ИЛИ?