0

这是在延续的问题下面问:跨字段验证JSR303

Cross field validation with Hibernate Validator (JSR 303)

我是新来的JSR 303,我的要求是 - 在我的网页(我使用Spring Webflow的创建一个调查)我有两个文本字段说金额1和金额2,如果金额2小于金额1,那么我需要显示一个验证错误信息就在金额2字段说(金额2不能小于金额1)。使用上面提供的答案,我可以在页面顶部看到这条消息,但不在该字段下面。

什么工作:

@Amount(amount1= "amount1", amount2= "amount2") 
public class SurveyBean extends ModelContextBean implements Serializable{ 

什么不工作:

public class SurveyBean extends ModelContextBean implements Serializable{ 
@Amount(amount1= "amount1", amount2= "amount2") 
private String getAmount2(){} 

任何人都可以请帮我对如何在实地一级适用交叉领域验证...

在此先感谢

回答

0

这不是一个真正的Bean验证或Hibernate验证程序问题。问题出在用户界面上。我不知道Spring WebFlow中从约束错误到字段的映射是如何工作的,但我期望有一种方法来定制它。从Bean验证的角度来看,比较同一个bean的两个字段的唯一方法是使用自定义类级别约束。没有别的办法。这里的问题是将错误消息自动映射到字段。思考更多关于它的信息,将消息放在顶部,好像现在发生,对Spring Web Flow很有意义。毕竟它是一个类级别的限制,它无法知道它适用于哪些字段。

+0

感谢您确认交叉字段验证只适用于课堂级别 – user3367569 2014-09-13 12:54:15