Ответ 1
Начиная с JSF 1.2, используйте атрибут converterMessage
для замены всего сообщения, например:
<h:inputText value="#{user.dateOfBirth}" converterMessage="Format must be: yyyy-MM-dd">
<f:convertDateTime pattern="yyyy-MM-dd" />
</h:inputText>
В противном случае JSF по умолчанию показывает сообщение _detail
в <h:message>
. Только когда вы используете <h:message showDetail="false" showSummary="true">
, отобразится тот, который аналогичен вашему вопросу. Я не уверен, какую версию JSF вы используете, но в моем JSF 2.0.3 подробное сообщение для f:convertDateTime
следующее:
javax.faces.converter.DateTimeConverter.DATE_detail = {2}: ''{0}'' could not be understood as a date. Example: {1}
{2}
будет заменен идентификатором клиента или атрибутом label
поля ввода, если он присутствует.
<h:inputText value="#{user.dateOfBirth}" label="Date of birth">
<f:convertDateTime pattern="yyyy-MM-dd" />
</h:inputText>
Оба сообщения DATE
и DATE_detail
должны быть определены для сообщения DATE_detail
, которое будет использоваться:
javax.faces.converter.DateTimeConverter.DATE=Date format must be: dd/mm/yyyy
javax.faces.converter.DateTimeConverter.DATE_detail=Date format must be: dd/mm/yyyy
См. также: