Validar segun CheckBox con Struts

Rascayu
25 de Enero del 2006
Hola, uso Struts 1.2.4 y me ha surgido un problema a la hora de validar un formulario. Tengo un campo checkbox (Anular) y después el resto de campos. Mi intención es que si se activa Anular no se comprueben el resto de campos pero en caso de que no esté activo Anular sí se comprueben los campos. Esto lo consigo a medias:

<field property="tiempoteorico" indexedListProperty="controles" depends="validwhen">
<arg0 key="campo.tiempoteorico" />
<var>
<var-name>test</var-name>
<var-value>(controles[].anular != true)</var-value>
</var>

</field>

Claro, en caso de que el CheckBox no esté activo necesito que Tiempoteorico sea un valor entero así que tengo que añadir alguna validación más:

<var-value>((controles[].anular != true) and (*this* >0))</var-value>

El problema viene si tengo tengo activo el CheckBox y Tiempoteorico es menor de 0 ya que me salta el error y quería que no saltase ya que tengo activo el checkbox Anular.

Otra opción que he probado en campos text es poner depends="validwhen,required" pero entonces me obliga a tener un texto puesto aunque lo anule, vamos, que anulando sigue validando.

¿Alguna ayuda?



Rascayu
25 de Enero del 2006
He creado una función JavaScript para que al activar el checkbox deshabilite los campos del formulario y así para la validación sólo pongo:

depends="required"

Pero si antes de deshabilitar el campo le quedo vacío me salta el error de requerido.

No veo ninguna opción para evitar estas validaciones con Struts. ¿Acaso no es posible?