Guia de uso

Hay Dios Libre es un blog para programadores autodidactas con poco tiempo.

Esta orientado a los desarolladores que estan acostumbrados a googlear, y que ya han leido miles de veces los conceptos sobre lo que buscan, pero no han encontrado la respuesta a lo que necesitan.

Este blog pretende ser una solucion final a todas aquellas inquietudes. Cuando se hable de un tema, asumo que mis lectoras ya han buscado por gran parte de la web, y que ya conocen los conceptos que no se cansan de repetir en los tutoriales (cuantas veces has tenido que leer sobre Patron MVC en tutoriales de Spring MVC?).

Hay dios libre! es una guia, es una respuesta rapida a las dudas que cualquier desarrollador puede tener.

Nota: La mayoria de los ejemplos se han realizado con la version completa de Netbeans 6.9, en su configuracion mas basica, a menos que se especifique lo contrario en el post.

domingo, 11 de julio de 2010

Parte 2: Validadores en Spring.

La lista de clases que hemos analizado sobre Spring MVC, son:
Beans de comunicacion Vista-Control.
Controladores
Servicios.
Validadores (despues de leer el tutorial.


Conocimientos previos:
Haber hecho la Parte 1 del tutorial :P.


¿Que es un validador?
Un validador valida (valga la redundancia) los datos que ingresó el usuario.
En el ejemplo del largo Paso 1, hicimos un Login...
... Y la validacion sobre si un usuario es logueado o no, la realizabamos en el servicio LoguearUsuario, recordemos un poco:

package Servicios;

import BeanVistaControl.Usuario;

public class loguearUsuario {
public String login(Usuario usr)
{
if (usr.getUsr().equals("pablo"))
return "usuario valido! :D";
return "cualquiera mandaste";
}
}

Supongamos que el usuario se olvida de ingresar uno de los dos campos... ¿No estaria bueno delegar esta responsabilidad a otra clase? Recordemos que, sea un usuario valido o no, actualmente estamos reenviandolo a una pagina.

Ahora haremos una clase, llamada ValidarUsuarioNulo, que se encargue de fijarse si el usuario escribio algo en los campos "usuario" y "contraseña".


public class ValidarUsuario implements Validator{

public boolean supports(Class type) {
if(type.equals(Usuario.class))
return true;
return false;
}

public void validate(Object o, Errors errors) {
Usuario usr = (Usuario) o;
if(usr.getUsr() == "")
errors.rejectValue("usr", "errorMessage", null, "Escriba un usuario!");
}
}


El metodo "supports" establece si el Bean "Usuario" acepta la clase "type" que le envien desde el controlador.

El metodo validate, justamente valida si el valor que se ingresó es o no correcto. En este caso, verificamos nomas si el usuario se ingreso o no.

En el constructor del Controlador ponemos:

setValidator(new ValidarUsuario());


Despues, del lado de la vista:

Al inicio de todo, colocamos:

<%@taglib uri="http://www.springframework.org/tags" prefix="spring" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>


Y luego del ' input type="text" name="${status.expression}" value="${status.value}"> ', colocamos:





Y listo, ejecutamos y veremos como el login valida y coloca el mensaje "Escriba un usuario!" al lado del text.

No hay comentarios: