2010-09-10 10 views
10

Sto cercando un framework di convalida basato su annotazioni, che mi consenta di convalidare i valori dei parametri. Qualcosa di simile a quanto segue:framework di convalida basato su annotazioni

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

} 

convalida dei parametri dovrebbe avvenire automaticamente ogni volta che un metodo/costruttore annotato è chiamata, in modo che non c'è modo di aggirare la convalida.

Se potessi personalizzare i messaggi di errore prodotti sarebbe bello. Sto usando Java 1.5.

risposta

9

Prova dare un'occhiata a OVal e altri implementatori della JSR-303 (aka convalida Bean)

+0

Sì, OVal mi sembra un vincitore: http://oval.sourceforge.net/userguide.html#d4e233 –

7

Questo è un lavoro per un'implementazione JSR 303 - Bean Validation, come Hibernate Validator (RI). Controllare i vari Bean Validation blog posts da Emmanuel Bernard (la guida dello spettacolo).

+1

@Don AFAIK, BV è per Java 1.5+, non richiede Java 1.6 (con Hibernate Validator, so che Dovrai fornire l'API JAXB e un'implementazione JAXB se stai utilizzando Java 1.5 poiché non fa parte del JDK). –

+0

Grazie Pascal. Non mi piace il fatto che sia necessario richiamare manualmente la convalida. Vorrei che i parametri venissero validati automaticamente ogni volta che viene chiamato un metodo annotato. –

+0

+1 Solo per il fandom di Emmanuel Bernard (gli ascoltatori di "les castcodeurs", mani in alto!) – Riduidel

Problemi correlati