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:
Publicar un comentario