Privacidad: Recuerde que la información escrita en los foros de programación es 100% pública y que su ip será registrada asociada a su mensaje. Si encuentra un mensaje fuera de lugar, por favor, notifiquelo para su revisión y eliminación.
Struts: impedir que valide al navegar a la página.
Enviado por acopado el día 9 de abril de 2008
Hola,
Estoy empezando con struts y me ha surgido un problema. Tengo el expedientesAction.java, expedientesActionForm.java y el expedientes.jsp Cuado voy a la página (expediente.do) que representa al ActionForm (expedientesActionForm,java), al llegar, me salen los mensajes de validación. Es decir, sin que me den opción a meter datos ya me sale el mensaje de error de la validación.
Yo quiero que me valide los datos una vez rellenado el formulario jsp y no al llegar hasta la página. ¿Cómo puedo evitar que me realice esta primera validación?
Re: Struts: impedir que valide al navegar a la página.
Enviado por withnodelay el día 9 de abril de 2008
a ver tienes un jsp que pilla los datos, este ataca un action y tienes asociado un bean a tu formulario verdad???
Para hacer la validacion tienes que añadir a tu clase bean el metodo validate, dentro de el realizas la logica de control de errores y para que no te pase al action tienes que añadir el parametro input dentro del struts-config. Seria algo asi
en tu jsp añades al final,importando las taglib de struts html :<html:errors/>
en tu bean añades el metodo validate devolviendo un array de errores. Te pongo la cabcera y un ejemplo:
public ActionErrors validate(ActionMapping mapping,
HttpServletRequest request) {
ActionErrors errors = new ActionErrors();
if (getNombre().trim().equals("") ||
getNombre() == null) { //error nombre vacio
errors.add("nombreEnBlanco",
new ActionError("error.nombre.enBlanco"));
}
... return errors;
y por ultimo añade esta linea al struts config
<action path="/TuAction" type="view.actions.TuAction" name="Tubean" scope="request" input="/Tujsp.jsp">
bueno no se si esto era lo que necesitabas, pero asi puedes hacer la validacion en cliente facil, facil
Re: Re: Struts: impedir que valide al navegar a la página.
Enviado por acopado el día 9 de abril de 2008
Primero muchas gracias withnodely por tu respuesta pero no es lo que buscaba; perdón porque no me he explicado bien.
La validación la tengo configurada como tú acabas de explicar. Sin embargo, el problema viene cuando accedo a esa página mediante un enlace. Imagínate que aquí pongo un enlace a mi página, nada más pinchar mostraría el formulario y los mensajes de validación (error: campo vacío). Yo no quiero que me salgan esos errores hasta que no pulse un botón que es quien acaba llamando a la validación.
Una solución sería llamar directamente a la .jsp y así no realiza la primera validación y no saldrían los mensajes de error. Sin embargo, necesito que llame al .do para que recarge unos select desde base de datos.