2012-02-06 2 views

ответ

21

Либо использовать requiredMessage атрибут входного компонента:

<x:inputXxx ... required="true" requiredMessage="Value is required" /> 

Или CREAT еа файл свойств в пути к классам, который содержит специальный шаблон сообщения:

javax.faces.component.UIInput.REQUIRED = Value is required. 

и был зарегистрирован в пачке сообщений в faces-config.xml:

<application> 
    <message-bundle>com.example.CustomMessages</message-bundle> 
</application> 

В приведенном выше примере предполагается, что имя файла CustomMessages.properties и был размещен в пакете com.example. Вы можете назвать и разместить его там, где хотите.

Вы можете найти обзор всех ключей сообщений в главе 2.5.2.4 от the JSF specification.

+0

Привет, BalusC, я проверяю, что оба http://download.oracle.com/otndocs/jcp/jsf-2.0-fr-eval-oth-JSpec/ и http://download.oracle.com/otndocs/jcp /jsf-2.0-fr-full-oth-JSpec/ - одинаковые (EVAL vs IMPL), может быть ошибка? –

+2

№ Некоторые API имеют отдельные документы для этого. Endusers (читайте: мы, разработчики) должны просто прочитать спецификацию «Оценка». Разработчики (например, Mojarra и MyFaces do) должны прочитать спецификацию «Реализация». Но для спецификации JSF это действительно не так. – BalusC

+0

Привет, BalusC, могу ли я действительно переопределить сообщение Apache Common Validator тоже? http://myfaces.apache.org/commons12/myfaces-validators12/tagdoc.html –

1

Думаю, я получил его здесь.

Добавлен ярлык:

<p:inputText id="hotelName" value="#{editHotelBackingBean.hotel.name}" required="true" label="#{labelResource.hotelName}"> 

Теперь это выглядит следующим образом:

Hotel Name: Validation Error: Value is required.

Смежные вопросы