5

我有以下代码:

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

当我输入 date02/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,但是冒号仍然存在。我不想使用自定义消息,因为默认消息已经国际化。

4

1 回答 1

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

于 2012-10-15T10:39:23.303 回答