Проверка JSF.это можно упростить? - PullRequest
2 голосов
/ 27 октября 2010

У меня есть простая форма с кучей полей.каждый из них обязателен, и у каждого есть другое имя:

  • город
  • штат

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

  • требуется город
  • требуется состояние

я не могу просто использовать атрибут required = true на jsp, потому что сообщение будет общим, а это не то, что нужно.

Я довольно новичок в jsf, поэтому, пожалуйста, скажите мне, как лучше это сделать?

1 Ответ

6 голосов
/ 27 октября 2010

Либо использовать requiredMessage атрибут

<h:inputSomething required="true" requiredMessage="Foo is required" />

Или используйте атрибут label и укажите пользовательский необходимый шаблон сообщения.

<h:inputSomething label="Foo" required="true" />

с CustomMessages.properties в пути к классам, который содержит пользовательский шаблон сообщения

javax.faces.component.UIInput.REQUIRED = {0} is required.

{0} будет заменен значением атрибута label. Вы можете найти обзор всех ключей в спецификации JSF (например, JSF 2.0 spec - глава 2.5.2.4). Объявите файл свойств сообщения в faces-config.xml как message-bundle:

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

(при условии, что он находится в пакете com.example, вы можете назвать его как хотите)

Для получения дополнительных ключей шаблонов сообщений проверьте спецификацию JSF.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...