在java中实现交叉验证

时间:2012-07-12 12:21:41

标签: spring jpa spring-roo bean-validation cross-validation

我使用Spring Roo + jpa + hibernate和我想在我的应用程序中实现交叉验证(同时验证几个字段)。

我不确定如何实施它。任何人都可以告诉我和/或直接向我提供相关文件吗?

1 个答案:

答案 0 :(得分:1)

查看Hibernate Validator,它允许实体验证(使用注释)。

http://www.hibernate.org/subprojects/validator.html

简而言之,您可以通过在其上方放置hibernate验证器/ JPA注释来注释您的字段约束。 (例如@Min(10))并使用以下代码来查找任何无效字段;

ValidatorFactory factory = Validation.byDefaultProvider().configure().traversableResolver(new CustomTraversableResolver() ).buildValidatorFactory();
Validator validator = factory.getValidator();
Set<ConstraintViolation<BaseValidationObject>> constraintViolations = Validator.validate(myEntityToValidate);

如果您需要验证实体之间的特定关系,可以编写自定义验证器以满足该需求。