2011-04-07 104 views
0

我想要做的是有一個標準的錯誤消息,使用註釋填寫上述錯誤消息的值。代碼應該幫助解釋。JSR-303與春天和休眠混合的錯誤消息

我有了與JSR-303註解這樣就可以域模型POJO:

@Min(value = 1) 
@Max(value = 9999) 
private int someInt; 

,目前,我有兩個屬性文件:一個持有標籤我的領域,另外舉行實際的消息:

label.someInt=Some Integer Field 
Min="{0}" must be no less than {value} 

然後我遍歷的東西來構建我想要的東西:

for (FieldError a : result.getFieldErrors()) { 
     boolean found = false; 
     for (String b : a.getCodes()) { 
      System.out.println(b); 
      try { 
       addErrorMessage(messageSource.getMessage(b, 
         new Object[] { new DefaultMessageSourceResolvable(
          new String[] { "label." + a.getField() } 
         )}, 
         null)); 
       found = true; 
       break; 
      } catch (Exception e){/* nom Exception */} 
     } 
     if (!found) { 
      addErrorMessage(a.getDefaultMessage()); 
     } 
    } 

這一切都很好,但我希望能夠堅持基於註釋的做事方式並在字段上添加某種標籤。例如:

@Min(value = 1) 
@Max(value = 9999) 
@Label(value = "Some Integer Field") 
private int someInt; 

然後,我可以寫只想用註釋標註錯誤消息我在屬性文件中的輔助功能。我也需要這個來處理基於Spring的驗證錯誤,比如typeMismatch。有趣的東西,那。

在此先感謝您的幫助!

回答