Problema com alteração de mensagens padrão do JSF

1 resposta
josenaldo

Caros amigos do GUJ,

Quando faço uma página usando o Visual Web do Netbans, adiciono um Label, um TextField, uma Message e um botão. O label e a message são para o textField.

<?xml version="1.0" encoding="UTF-8"?> <!-- Document : Page1 Created on : 08/04/2008, 16:32:20 Author : josenaldo --> <jsp:root version="2.1" xmlns:f="http://java.sun.com/jsf/core" xmlns:h="http://java.sun.com/jsf/html" xmlns:jsp="http://java.sun.com/JSP/Page" xmlns:webuijsf="http://www.sun.com/webui/webuijsf"> <jsp:directive.page contentType="text/html;charset=UTF-8" pageEncoding="UTF-8"/> <f:view> <webuijsf:page binding="#{Page1.page1}" id="page1"> <webuijsf:html binding="#{Page1.html1}" id="html1"> <webuijsf:head binding="#{Page1.head1}" id="head1"> <webuijsf:link binding="#{Page1.link1}" id="link1" url="/resources/stylesheet.css"/> </webuijsf:head> <webuijsf:body binding="#{Page1.body1}" id="body1" style="-rave-layout: grid"> <webuijsf:form binding="#{Page1.form1}" id="form1"> <h:panelGrid binding="#{Page1.gridPanel1}" id="gridPanel1" style=""> <webuijsf:label binding="#{Page1.lblNome}" for="txtNome" id="lblNome" text="Nome"/> <webuijsf:textField binding="#{Page1.txtNome}" columns="50" id="txtNome" required="true"/> <webuijsf:message binding="#{Page1.msgNome}" for="txtNome" id="msgNome" showDetail="false" showSummary="true"/> <webuijsf:button binding="#{Page1.txtEnviar}" id="txtEnviar" text="Enviar"/> </h:panelGrid> </webuijsf:form> </webuijsf:body> </webuijsf:html> </webuijsf:page> </f:view> </jsp:root>

O campo é requerido. E eu já consegui fazer a tradução da mensagem de campo obrigatório.

Adicionei um bundle na apicação:

<application> <message-bundle>testerequiredmessage.Bundle</message-bundle> <locale-config> <default-locale>pt_BR</default-locale> <supported-locale>pt_BR</supported-locale> <supported-locale>en</supported-locale> </locale-config> </application>

Adicionei a mensagem no bundle:

javax.faces.component.UIInput.REQUIRED = O campo {0} é requerido.

O problema está aqui!

A mensagem fica

Quando deveria ficar

O campo Nome é requerido.
.

O problema é que o parâmetro {0} da mensagem aceita o label do componente webuijsf:textField. Se não houver esse label, ele pega o id do campo. Mas eu quero que ele pegue o valor do webuijsf:label .

Já tentei criar um Validator para sobrepor a funcionalidade do atributo required, mas se o campo estiver vazio, ele não passa no estágio de validação!

Existe uma forma de fazer isso? Como?





1 Resposta

josenaldo

Segue o projeto.

Ele deve ser aberto usando o Netbeans 6.0.1

Criado 8 de abril de 2008
Ultima resposta 8 de abr. de 2008
Respostas 1
Participantes 1