Java中的validation框架

我们目前正在重构我们的插件API **(符合JDK 1.4)**,它以jar文件的forms发送给我们的客户端(即,不需要生成javascripts等等)。 这是一个非常轻量级的插件,因此我们尽可能多地保留了像Spring一样多的依赖jar。 在此过程中,我们开始了解是否需要一种适当的validation方法,这种方法可以通过一些validation框架来实现。 扼杀,除了少数诸如Commons Validator,Drools和Spring支持之外,我在这些方面(像其他开源项目一样)找不到太多选项。

Drools似乎对我的需求如此复杂。 然而,Commonsvalidation器在其validation风格中看起来是史前的。

我不能使用基于注释的validation,因为它必须是JDK 1.4并且更喜欢可以外化的东西,因此在更改时不需要再次编译类。

有更好的选择吗?

XWorkvalidation系统在当天相当不错,但我现在已经使用了差不多3年了。 我确信它的设计完全是独立的,但也与WebWork的其余部分一起被用于Struts 2。 信息在这里:

http://www.opensymphony.com/xwork/wikidocs/Validation%20Framework.html

试试Hibernate Validator。 它主要针对使用注释,但没有完全可用。 我用了几次,并喜欢它的模型。

我们正在使用sapia的VLAD框架 ,可以通过XML和BeanShell进行配置。

如果您更喜欢声明式样式的validation规则,可以尝试http://jvalidations.codehaus.org/

我最近发现了JValidations框架。 它是普通的Java,没有XML。 使用Hamcrest匹配器。 validation代码放在validation对象本身中。 整齐。

ValangValidator是一个Spring兼容的validation器,它使用“valang”语法,如果您只需要简单的validation,就可以为spring validator bean插入一个valangvalidation器。 ValangValidator还允许您插入自己的自定义函数实现。 它是“springmodules”的一部分。

有关更多信息,请参阅此链接 。