我使用Spring Roo + jpa + hibernate和我想在我的應用程序中實現交叉驗證(同時驗證幾個字段)。在java中實現交叉驗證
我不知道如何去執行它。任何人都可以請建議我和/或指導我相關文件?
我使用Spring Roo + jpa + hibernate和我想在我的應用程序中實現交叉驗證(同時驗證幾個字段)。在java中實現交叉驗證
我不知道如何去執行它。任何人都可以請建議我和/或指導我相關文件?
看看Hibernate驗證器,它允許實體驗證(使用註釋)。
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);
如果您需要驗證實體之間的特定關係,您可以編寫自定義驗證器以適應該需求。
你可以在這裏找到好的和完整的交叉字段驗證示例http://stackoverflow.com/questions/1972933/cross-field-validation-with-hibernate-validator-jsr-303 – masted 2012-07-13 08:07:35