2013-04-16 1 views
1

Я использую GlassFish 3.1.2.2, и я хочу определить общий шаблон сообщения проверки до , не включая идентификатор поля/метку.Пользовательское сообщение JSF для ошибки проверки

Я нашел пару связанных тем в StackOverflow, но ни одно из этих решений (все с участием javax.faces.validator.BeanValidator.MESSAGE) работает.

1) размещение ValidationMessages.properties в корне классов (в моем случае это был помещен в WEB-INF/классы моего файла WAR) - никакого эффекта

2), определяющий файл ValidationMessages.properties в < сообщения -расслоение> в лицах-config.xml - никакого эффекта

3), определяющего файл ValidationMessages.properties в < ресурсах расслоения> в лицах-config.xml - никакого эффекта

Я проверил, что пакет ресурсов правильно как я могу использовать его в EL, например: # {text ['javax.faces.validator.BeanVal idator.MESSAGE ']} где текст - это мой var из определения ресурсного пакета.

ПРИМЕЧАНИЕ. Я не хочу давать атрибут validatorMessage для каждого поля ввода в своем приложении. Я просто хочу настроить свое настраиваемое сообщение один раз для всего приложения.

ВАЖНО: решение, представленное здесь Mkyong.com, также не работает.

ПРИМЕЧАНИЕ: Я заявляю, что использую JSF 2.0 и Glassfish 3.1.2.2, безусловно, поддерживает это. ПРИМЕЧАНИЕ: Я не хочу реализовывать проверку в управляемом bean-компоненте вместо использования проверки JSF/проверки Bean.

+0

Вы используете jsf 1.X, не так ли? – jmrodrigg

+0

Решение Mkyong работает для меня из коробки (с предустановленной молнией) на стеклянной рыбке 3.1.2.2 – gpilotino

+0

@gpilotino Я только что загрузил образец Mkyong.Когда вы не вводите никаких данных и не нажимаете «Отправить», появляются следующие сообщения об ошибках: 1) _Username: Ошибка проверки: требуется значение. 2) _ Дата рождения: Ошибка проверки: требуется значение. Я хочу, чтобы эти сообщения были обычными, например «xyz». ** Я добавил _javax.faces.validator.BeanValidator.MESSAGE = xyz_ line в MyMessages.properties и ничего не изменил ** –

ответ

0

Добавить <h:messages> в вашем JSP/XHTML и отобразить сообщение об ошибке от Managed Bean в зависимости от состояния Использование

FacesContext ctx = FacesContext.getCurrentInstance(); 
FacesMessage msg =new FacesMessage(FacesMessage.SEVERITY_INFO, errorMessage,detailMessage); 
ctx.addMessage(null, msg); 
+0

Это не то, что я спросил. Конечно, я использую h: теги сообщений, и у меня нет проблем с просмотром сообщений проверки. –

+0

Кроме того, я не хочу самостоятельно выполнять проверку и создавать объекты FacesMessage в моем управляемом компоненте. –

2

Я отвечаю себе: установить пользовательское сообщение для подтверждения необходимости поля необходимо установить следующие свойства в сообщениях расслоения файла (расслоение сообщения определяются в лицах-config.xml по < сообщениям расслоения тега>):

1) javax.faces.component.UIInput.REQUIRED_detail - сообщение я at по умолчанию представлен в h: сообщении или h: тегах сообщений - или когда showDetail = true (по умолчанию). ОБЩИЙ ЭТО ДОСТАТОЧНО.

2) javax.faces.component.UIInput.REQUIRED - сообщение, которое отображается, когда showSummary = true в тегах h: message и h: messages. Установите это дополнительно, если вы отобразите сводку в сообщениях h: message/h:.

Примечания: это не так, что javax.faces.validator.BeanValidator.MESSAGE отвечает за сообщения требуется поле ошибок.