2016-02-11 25 views
3

我有以下代碼:自定義錯誤mesage視情況而定在JSR 303

.... 
    @AssertTrue(message = "I want to customize this message") 
    public boolean isValidPrice() { 
     if (...) { 
      return false; // error message 1 
     } 
     if (...) { 
      return false; // error message 2 
     } 
     if (...) { 
      return false; // error message 3 
     } 
     return true; 
    } 

我需要返回不同的錯誤信息視情況而定

是否JSR 303允許這樣做?

P.S.

error message 2不應顯示,如果error message 1已經顯示

回答

1

不,這是不可能的。約束驗證器只知道返回了false。沒有辦法知道爲什麼返回false。此外,isValidPrice的實現不知道約束條件。