Zona HTML Zona Java Zona PHP Zona ASP Zona Bases de datos
Inicio > Foros > Java (Servlets y JSP) > Struts: impedir que valide al navegar a la página.
-Foros de debate

Java (Servlets y JSP)
Lista de foros | Lista de mensajes de este foro

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?

Un saludo y gracias!

 
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

Un saludo

 
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.

 



Tienda
Patrocinados
 

Copyright © 1999-2006 Programación en castellano. Todos los derechos reservados.
Formulario de Contacto - Datos legales - Publicidad

Hospedaje web y servidores dedicados linux por Ferca Network