2012-10-01 17 views
3

我有以下代碼:JSF:刪除驗證消息客戶端ID(標籤,組件ID),而自定義消息

<h:inputText id="it-date" value="#{myBean.myDate}"> 
    <f:convertDateTime pattern="MM/dd/yyyy"/> 
</h:inputText> 
<h:message for="it-date" /> 

當我輸入日期02/30/2012,我得到以下信息:

j_idt5:it-date: '02/30/2012' could not be understood as a date. Example: 10/01/2012 

是否可以刪除j_idt5:it-date:,包括冒號以保持來自Java的默認消息?

我已經嘗試使用屬性label,但冒號仍然存在。我不想使用自定義消息,因爲默認消息已經國際化。

回答

0

我想你將需要在消息處理之間取得某種程度的消除冒號,因爲它是消息的固定部分。

簽出消息屬性文件,例如這裏: http://grepcode.com/file/repo1.maven.org/maven2/com.sun.faces/jsf-api/2.1.7/javax/faces/Messages.properties

在這種情況下的特定消息/屬性將是: javax.faces.converter.DateTimeConverter.DATE = {2}: ''{0} '' 不能被理解爲一個日期。

查看{2}後的固定冒號。如果你想擺脫它,但保留實際的消息,你需要一些方法來處理消息。

Mabye從BalusC這個答案是選項: FacesMessage listener

+0

鏈接是死的,你可以請更新你的答案 – Abbadon

+0

@Abbadon:THX的指出。 Jarvana似乎(當前)下降。我交換鏈接指向grepcode.com – Jens