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