2010-09-10 63 views
10

我正在寻找一个基于注释的验证框架,这将允许我验证参数值。像下面这样:当一个注释的方法/构造函数被调用基于注释的验证框架

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

} 

验证应自动发生的,因此,有没有办法绕过验证。

如果我可以自定义生成的错误消息,那就很好。我正在使用Java 1.5。

回答

9

尝试采取看看OVal和其他实施者的JSR-303(又名Bean验证)的

+0

是的,OVal看起来像是我的赢家:http://oval.sourceforge.net/userguide.html#d4e233 – 2010-09-10 08:09:18

7

这是JSR 303 - Bean Validation实施的工作,如Hibernate Validator(RI)。查看来自Emmanuel Bernard的各种Bean Validation blog posts(规格领先)。

+1

@Don据我所知,BV是为Java 1.5+,它并不需要Java 1.6(与Hibernate验证,我知道,如果您使用Java 1.5,则必须提供JAXB API和JAXB实现,因为它不是JDK的一部分)。 – 2010-09-10 08:19:04

+0

谢谢帕斯卡。我不喜欢你需要手动调用验证的事实。我希望每当调用带注释的方法时自动验证参数。 – 2010-09-10 08:25:12

+0

+1只为Emmanuel Bernard粉丝群(“cast castcodeurs”的听众,举起手来!) – Riduidel 2010-09-10 09:41:01