我有以下代码:
<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 :(得分: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