Después de mucho buscar y googlear, encontré una solución que resulta útil, no se si sea le mejor o las mas optima, pero al menos funciona =D.
El truco esta en crear la validación en el método onclick de un ice:commandButton.
<ice:commandButton value="Buscar" partialSubmit="false" onclick="if(!validar()){return false;};" action="XXXX" actionListener="#{XXXX.zzzz}" />
donde validar() es la función en js que queremos hacer.
Se hace de de esta manera ya que si no se hace la segunda validación dentro del mismo onclick al terminar la validación independientemente del resultado de la misma se seguirá ejecutando el código de Ice Faces (ver código fuente generado) y no tomara en cuanta nuestra validación, por eso la segunda validación, para tronar el siguiente código y detener la ejecución.
Espero les sirva.
2 comentarios:
Tiene que ser en el evento onclick? no puede ser en un script aparte? eso de hacerlo en el boton de accion, es muy sucio, no crees?
Como crítica constructiva, procura evitar los "dedazos".
Publicar un comentario