2015-01-20 55 views
2

如何從自定義驗證器中的密鑰獲取消息?作爲Struts 2 - reusing Custom Expression Validator提到的,你可以得到默認的消息爲:Struts 2如何從自定義驗證器中獲取i18n消息

public void validate(Object o) throws ValidationException { 

    //Do some logic 
    addActionError(getDefaultMessage()); 
} 
+0

使用'getMessage',btw downvote不是我的。 – 2015-01-20 20:31:12

+1

我被@Andrea Ligios問到在不同的問題:(http://stackoverflow.com/questions/28038827/struts-2-reusing-custom-expression-validator/我誤導;) 感謝您的回答,請發送答案,以便我可以接受它! – 2015-01-20 20:50:33

+1

Upvoted兩個現在它適合所以 – 2015-01-20 21:30:42

回答

2

你自定義的驗證應該擴展ValidatorSupport類,它有一個方便的方法getMessage(Object object)獲得與key參數設置國際化的消息。

所以裏面validate方法,而不是調用getDefaultMessage(這簡單的恢復默認消息)調用getMessage將評估key參數額外messageParams

public void validate(Object o) throws ValidationException { 
    //Do some logic 
    addActionError(getMessage(o)); 
}