Desde ayer es la primera versión candidata de Spring Framework para descargar listas.
En esta primera versión de JSR 303 (Bean Validation) y JSR-330 (Inyección de Dependencia en Java) son compatibles. Sobre todo si la aplicación de la haba de validación que era curioso, ya que se ajusta sobre sus frijoles con las limitaciones de anotación.
Primero anotar el frijol
A 2 3 4 5 6 7 | { int id ; @NotNull @Size ( min = 1 ,max = 50 ) String description ; ... Clase de evento público {int id; NotNull @ @ Size (min = 1, max = 50) la descripción de cadena; ... |
(Incluido en la validación-api-1.0.CR3.jar) por la anotación dos se especifica que el valor del atributo description no puede ser cero y un mínimo de un personaje, pero contener un máximo de 50 caracteres.
Segundo validar el grano dentro del controlador
Para validar lo que necesita una implementación de JSR-303, como el validador de Hibernate (actualmente en la versión 4.0.0 RC 1). Él, sin embargo, una gran cantidad de dependencias de Maven y debe ser compilado para.
Una vez superado este obstáculo (y ha integrado el archivo jar resultante en su proyecto), usted todavía necesita las siguientes bibliotecas de producir ningún error de ejecución:
- la validación-api-1.0.CR3.jar
- slf4j-api-1.5.6.jar
- slf4j-1.5.6.jar-log4j12
- log4j-1.2.14.jar
- commons-logging-1.0.4.jar (usted no necesita necesariamente, pero se utilizó en el ejemplo)
estos son pero de todos modos antes de que el repositorio local de Maven.
A 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | "/event/save" , method = RequestMethod. POST ) @ RequestMapping (value = "/ evento / Guardar" method = método de solicitud. POST) save ( Event event,BindingResult bindingResult, Model model ) { pública ahorro de cadena (caso de eventos, resultado vinculante, enlace de resultados, el modelo de Modelo) { LocalValidatorFactoryBean ( ) ; LocalValidatorFactoryBean LocalValidatorFactoryBean validador = new (); HibernateValidationProvider. class ) ; setProviderClass validador (HibernateValidationProvider. clase).; ; validador afterPropertiesSet ().; event,bindingResult ) ; . Validador validar (enlace de eventos, resultado); ! bindingResult. hasErrors ( ) ) { if (resultado vinculante. hasErrors ()) { / / Guardar ... "message" , "update successfully" ) ; . Modelo de addChild ("mensaje", "actualizar correctamente"); { Else {} FieldError e : bindingResult. getFieldErrors ( ) ) { para (E Campo de error:. getFieldErrors vinculantes resultado ()) { e. getField ( ) + ": " + e. getDefaultMessage ( ) ) ; . Registro de advertencia (e getField () + "" + e getDefaultMessage ()); } "errors" , bindingResult. getFieldErrors ( ) ) ; . Modelo de addChild ("errores" número getFieldErrors vinculante ().); } "event" , event ) ; . Modelo de addChild ("eventos", eventos); ; return "actualización"; } |
En las líneas 3-5 indica la instancia se crea Hibernate Validator. En la línea 7, se validaron en el pasado. Ya sea que se encuentran en el error de validación puede ser el método hasErrors() cheque (línea 9). El acceso a todos los errores (por ejemplo, para el registro) se obtiene utilizando el método de getFieldErrors() (líneas 13-15).
En la línea 16 se pasa el error de la vista.
Tercera Salida del error en la vista
Para la salida del error, la Biblioteca JSP Standard Tag utilizado.
A 2 3 4 5 6 7 8 | <p> $ {mensaje} </ p> <c:if test="${!empty errors}"> <ul> <c:forEach var="error" items="${errors}"> <li> error.field $ {}: $ {} error.defaultMessage </ li> </ C: forEach> </ Ul> </ C: if> |



