2013-04-05 24 views
2

我正在使用約定插件。以下是@Validations註釋。Struts2驗證註釋給出了多條消息

@Validations(
     requiredFields={@RequiredFieldValidator(type = ValidatorType.SIMPLE, fieldName = "revenue", message = "You must enter a value for field.")}, 
     intRangeFields = 
       { @IntRangeFieldValidator(type = ValidatorType.SIMPLE, fieldName = "revenue", min = "1", max = "100", message = "id must be between 1 to 100.")}, 
     conversionErrorFields={@ConversionErrorFieldValidator(message="Not a valid Number", type= ValidatorType.SIMPLE, fieldName="id")} 
     ) 

因此,當我給一個字符,而不是字段中的數字來測試。我收到這3條消息。

Invalid field value for field "id". 
Not a valid Number 
You must enter a value for field. 

相反,我期待只得到第二個或第一個。 N從哪裏得到第一個錯誤。我們可以看到,我沒有給出任何這樣的信息。那麼,我怎麼一次只能得到一條適當的消息。

問候。

+1

首先是來自類型轉換攔截器。 – 2013-04-05 19:28:47

+0

好的。那麼如何獲得只有一個相關的消息 – Aadam 2013-04-06 03:29:52

+0

爲什麼不用validate()進行驗證呢? – 2013-04-06 10:42:22

回答

0

創建在同一個包的新文件,其中Action類的定義,」 actionclassname.properties」,並在該文件中使用這種 ‘invalid.fieldvalue.FieldName =給用戶味精’。正是在我的情況也正在它正在工作