Struts Validator validwhen con 3 campos

msi
07 de Febrero del 2006
Hola, tengo un formulario con 3 campos de tipo Multibox donde el usuario puede seleccionar de los 3 campos, pero debe seleccionar al menos uno en total. La estructura es del tipo:

//Situaciones Juego Ataque
<html:multibox property="sjuegoa" value="1x0"/>1x0
<html:multibox property="sjuegoa" value="1x1"/>1x1
<html:multibox property="sjuegoa" value="1x2"/>1x2

//Situaciones Juego Defensa
<html:multibox property="sjuegod" value="1x0"/>1x0
<html:multibox property="sjuegod" value="1x1"/>1x1
<html:multibox property="sjuegod" value="1x2"/>1x2

//Situaciones Juego Mixto
<html:multibox property="sjuegom" value="1x0"/>1x0
<html:multibox property="sjuegom" value="1x1"/>1x1
<html:multibox property="sjuegom" value="1x2"/>1x2

He visto que Struts posee "validwhen", he visto sus ejemplos pero mi código no funciona del todo bien. Para probarlo, he intentado verificar al menos que Ataque o Defensa no esté nulo.

<field property="sjuegoa" depends="validwhen">
<arg0 name="validwhen" key="campo.situaciones"/>
<var>
<var-name>test</var-name>
<var-value>(sjuegod == null) and (*this* == null)</var-value>
</var>
</field>

<field property="sjuegod">
<arg0 key="campo.sjuegod"/>
</field>

Con esto me detecta lo que quiero pero me aparece el siguiente error en consola:

line 1:19: expecting EOF, found 'and'
at antlr.Parser.match(Parser.java:213)
at org.apache.struts.validator.validwhen.ValidWhenParser.expression(ValidWhenParser.java:370)

Si pongo paréntesis (se supone que sigue igual) ya no aparece el error en consola pero tampoco me muestra el mensaje de campos vacíos:

<var-value>((sjuegod == null) and (*this* == null))</var-value>


Por probar, he probado por si los campos sjuegoa y sjuegod al ser multibox vinieran como "":

<var-value>((sjuegod.equals("")) and (*this*.equals("")))</var-value>

line 1:3: unexpected token: sjuegod.equals
at org.apache.struts.validator.validwhen.ValidWhenParser.field(ValidWhenParser.java:300)

¿Alguna idea? Uso Struts 1.2.4

msi
07 de Febrero del 2006
No hace falta que respondais ya que al final opté por validarlo de otra manera y conseguí lo que quería.

mge
07 de Febrero del 2006
Hola, yo tengo un problema similar, solo que yo tengo 2 multibox y necesito que sean excluyentes, ya se que para eso existen los radio, pero como mi jsp tiene una tabla y por cada renglon tienen que aparecer 2 multibox o radio , lo que pasa con los radio es que como es la misma propiedad para toda mi pagina se activa un solo radio, sin importar los renglones que tenga. Y con los multibox, sucede lo contrario que se puede activar los dos.
Les agradecere que me puen orientar.

saludos

gracias