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?


