Bueno con este post terminamos la trilogía sobre validación con Spring. En este caso vamos a validar el objeto haciendo uso de anotaciones de 'javax.validation'.
Esta es una opción también muy sencilla y facilmente configurable. Por un lado en la clase sobre los atributos le incluimos la validación que queremos. En este
enlace podeis encontrar un resumen de estas validaciones.
En el ejemplo podemos ver como validamos que el campo nombre tenga una longitu de al menos 5 campos y que el volumen sea un numérico.
@Entity
@Table(name = "libro", catalog = "almacen")
public class Libro implements java.io.Serializable {
private static final long serialVersionUID = 1L;
private Integer ident;
@Size(min=5, max=240)
private String nombre;
@Digits(integer=2, fraction=0)
private Integer volumen;
Y por último añadir la
@RequestMapping(value = "save/book.htm")
public ModelAndView searchDisc(@Valid @ModelAttribute("libro") final Libro form, BindingResult result)
throws ServletException, IOException {
try {
if(result.hasErrors()){
return new ModelAndView("edit.book.page");
}else{
if (form.getIdent() == null) {
service.create(form);
} else {
service.update(form);
}
}
} catch (Exception except) {
logger.error("Error al guardar el libro", except);
}
return new ModelAndView("search.book.page");
}
No hay comentarios:
Publicar un comentario