Ver Mensaje Individual
  #5 (permalink)  
Antiguo 16/03/2005, 16:05
milsoncardona
 
Fecha de Ingreso: septiembre-2003
Mensajes: 47
Antigüedad: 20 años, 8 meses
Puntos: 0
utiliza el VALIDATION de STRUTS

dices que trabajas en STRUTS... bien si te has dado cuenta, cuando se crea un formulario en una pagina JSP, se debe crear una clase ACTIONFORM que captura los datos que introduces en el formulario cuando lo envias.

ahora bien, en STRUTS existe una forma de validar dichos datos antes de ejecutar la acción que debe ejecutarse al enviar el formulario.

puedes, en la clase ACTIONFORM validar si los datos que tiene el formulario del JSP son validos, si lo son haces la consulta a la DB, sino devuelves un mensaje en la pagina JSP, donde le digas al usuario que debe rellenar todos los campos.

la configuracion para decirle a STRUTS que tal o cual formulario lo debe validar antes de ejecutar la accion, debe ir en el STRUTS_CONFIG.XML, allí mismo donde defines los <ACTION_MAPPINGS>

mira este ejemplo

<action-mappings>
.
.
.
<action path="/login"
type="co.edu.uco.action.LoginAction"
name="loginForm"
scope="request"

validate="true"

input="/jsp/login.jsp">
<forward name="bien" path="/jsp/maestroFormatos.jsp" redirect="false" />

<forward name="mal" path="/jsp/login.jsp" redirect="false" />
</action>

.
.
.
<action-mappings>


es solo un ejemplo de como se configura en el STRUTS - CONFIG una pagina LOGIN.JSP para que sea reconocida por una clase java llamada LOGINFORM

ahora el codigo de la validacion es el siguiente, este metodo va dentro del ACTIONFORM en este caso LOGINFORM

public ActionErrors validate( ActionMapping mapping, HttpServletRequest request ) {
ActionErrors errors = new ActionErrors();
if (getUsuario() == null || getUsuario().equals("")) {
errors.add("Usuario",new ActionError("error.usuario.requerido"));
}
if (getPassword() == null || getPassword().equals("")) {
errors.add("Usuario",new ActionError("error.contrasena.requerida"));
}
if ( getIdentificacion() == null || getIdentificacion().equals("")) {
errors.add("Identificacion",new ActionError("error.identificacion.requerida"));
}else{
try {
Double.parseDouble(getIdentificacion());
} catch( NumberFormatException ne ) {
errors.add("Identificacion",new ActionError("error.identificacion.numerica"));
}
}
return errors;
}



y para mostrar los errores en la pagina JSP utilizas el siguiente codigo dentro de tu pagina JSP (antes crear el formulario)

<logic:messagesPresent>
<span id="errorsHeader"><bean:message key="errors.encabezado.validacion"/></span>
<html:messages id="error">
<li><c:out value="${error}"/></li>
</html:messages>
<hr>
</logic:messagesPresent>


esto debes analizarlo bien porque lo he sacado de un aplicación mia, y no me he detenido a mirar que variables debo cambiar para que lo entiendas....

pero puedes investigar, como te digo VALIDATION en struts

espero que toda esta retaila te pueda ayudar a solucionar el prblema