2010-09-10 14 views
10

Estoy buscando un marco de validación basado en anotaciones, que me permita validar los valores de los parámetros. Algo así como lo siguiente:marco de validación basado en anotaciones

void someMethod(@NotBlank String foo, @NotEmpty Collection bar, @Positive Integer baz, @NotNull Object obj) { 

} 

Validación de los parámetros debe suceder de forma automática cada vez que un método/constructor anotado se llama, por lo que no hay manera de eludir la validación.

Si pudiera personalizar los mensajes de error producidos, sería bueno. Estoy usando Java 1.5.

Respuesta

9

Trate de tomar un vistazo a OVal y otros ejecutores del (también conocido como la validación Bean) JSR-303

+0

Sí, OVal me parece un ganador: http://oval.sourceforge.net/userguide.html#d4e233 –

7

Ese es un trabajo para una implementación JSR 303 - Bean Validation, como Hibernate Validator (el RI). Compruebe los diversos Bean Validation blog posts de Emmanuel Bernard (el plomo de la especificación).

+1

@Don yo sepa, se BV para Java 1.5 +, que no requiere Java 1.6 (con Hibernate Validator, sé que Tendrás que proporcionar la API de JAXB y una implementación de JAXB si estás utilizando Java 1.5, ya que no forma parte del JDK. –

+0

Gracias Pascal. No me gusta el hecho de que necesite invocar manualmente la validación. Me gustaría que los parámetros se validaran automáticamente siempre que se llame a un método anotado. –

+0

+1 Solo para el fandom Emmanuel Bernard (oyentes de "les castcodeurs", manos arriba!) – Riduidel

Cuestiones relacionadas