Foros del Web » Programación para mayores de 30 ;) » Java »

Validaciones con struts

Estas en el tema de Validaciones con struts en el foro de Java en Foros del Web. Hola a todo el mundo!! Estoy probando a hacer validaciones con struts y me ha surguido un porblema: resulta que tengo que hacer un login ...
  #1 (permalink)  
Antiguo 16/03/2007, 13:21
 
Fecha de Ingreso: enero-2007
Mensajes: 156
Antigüedad: 18 años
Puntos: 1
Validaciones con struts

Hola a todo el mundo!!

Estoy probando a hacer validaciones con struts y me ha surguido un porblema: resulta que tengo que hacer un login en el que antes de poner el método validate() en el actionForm, hacia una comprobación de que el usuario y la contraseña eran correctos en la clase action.

Pero ahora tengo en el actionForm el siguiente código:

Código:
package inmobiliaria.form;

import inmobiliaria.accesoBD.DAO.UsuarioDAO;

import javax.servlet.http.HttpServletRequest;

import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionMessage;

@SuppressWarnings("serial")
public class LoginForm extends ActionForm{

	private String nombre;
	private String password;
	
	
	public String getNombre() {
		return nombre;
	}
	public void setNombre(String nombre) {
		this.nombre = nombre;
	}
	public String getPassword() {
		return password;
	}
	public void setPassword(String password) {
		this.password = password;
	}
	
	/**
	 * Validamos las propiedades establecidas para esta petición.
	 * En caso de que se produzcan errores se reseteará el formulario.
	 * 
	 */
	public ActionErrors validate(ActionMapping actionMapping, HttpServletRequest httpServletRequest){
		ActionErrors errors=new ActionErrors();
		
		if (UsuarioDAO.find(nombre, password)==null){
			errors.add("nombre", new ActionMessage("error.login"));
			reset();
		}
		
		return errors;
	}
	
	public void reset(){
		this.nombre="";
		this.password="";		
	}
}
y si se supone que cualquier validación tendra que pasar por aqui, ¿ya no me hace falta comprobar que el usuario devuelto por UsuarioDAO.find(nombre, password) sea distinto de null?

Me quedaría mas traquila si alguien me lo confirmara.

Muchas gracias.
  #2 (permalink)  
Antiguo 17/03/2007, 07:48
Avatar de Felippe  
Fecha de Ingreso: octubre-2006
Mensajes: 54
Antigüedad: 18 años, 2 meses
Puntos: 0
Re: Validaciones con struts

Hola solyluna:

En lo personal, no mezclaría las funcionalidades de las capas. La funcionalidad del Validator en Struts, es hacer la validación sintáctica, y no así la validación semántica y tú intentas mezclarlas ambas. Es posible que funcione, pero lo veo poco mantenible.

Un saludo
  #3 (permalink)  
Antiguo 17/03/2007, 09:22
 
Fecha de Ingreso: enero-2007
Mensajes: 156
Antigüedad: 18 años
Puntos: 1
Re: Validaciones con struts

Hola, ante todo, gracias por tu respuesta pero... podrías explicate un poco mejor?? Qué quieres decir con validación sintáctica y validación semántica??

Muchas gracias.
  #4 (permalink)  
Antiguo 17/03/2007, 10:32
Avatar de Felippe  
Fecha de Ingreso: octubre-2006
Mensajes: 54
Antigüedad: 18 años, 2 meses
Puntos: 0
Re: Validaciones con struts

Claro que si.

La Validación Sintáctica, es aquella que se hace sobre la sintaxis de una o mas palabras. Por ejemplo, para tu caso específico: estas validando 'login' y 'password'; éstas palabras introducidas por el usuario podrían seguir ciertas reglas sintácticas definidas por tu aplicación, como el No Permitir caracteres de tipo '=','&','|','~', etc.... (o los que tú definas). Esta validación, es posible llevar a cabo por medio del 'Validator' de Struts (posiblemente con el uso de expresiones regulares en el archivo 'validation.xml').

Una vez que los datos introducidos por el usuario pasen la validación sintáctica, podrían pasar por una Validación Semántica, es decir validar el significado de esos valores. Para tu caso específico, realizas una comparación con el 'login' y 'password' de algún usuario existente en tu BD. Este proceso es más propio de la lógica de tu aplicación (Modelo).

Y como te dije, lo que propones es posible que funcione, pero estas mezclando los dos tipos de validación, lo que a la larga te puede ocasionar algún problema al hacer un mantenimiento del sistema.

Espero haber sido claro en mi explicación. Un saludo.
  #5 (permalink)  
Antiguo 17/03/2007, 10:35
 
Fecha de Ingreso: enero-2007
Mensajes: 156
Antigüedad: 18 años
Puntos: 1
Re: Validaciones con struts

OK, muchas gracias por la explicacion.

Saludos
  #6 (permalink)  
Antiguo 20/03/2007, 04:11
 
Fecha de Ingreso: enero-2007
Mensajes: 156
Antigüedad: 18 años
Puntos: 1
Re: Validaciones con struts

Hola, quería preguntar donde es mejor hacer una comprobación del tipo "existe usuario", pes he visto en varios ejemplos que o bien lo hace en el actch del action (cosa que no comprendo muy bien) y otros lo hacen en el método validate() del actionForm.

La validación sintactica ya la comprendí y la realicé con el validator de struts, pero y la otra... ¿dónde debría hacerse?

Saludos y gracias
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:46.