Seguinte pessoal estou com o seguinte problema…
Estou estudando JSF e estou usando <f:validator> para validar alguns campos do meu formulário
porem quando ocorre a validação ele exibe as menssagens dos campos da forma abaixo
formTamplate:txtInputPais: Erro de validação: o valor mínimo inadmissível é ‘3’.
e eu gostaria q as menssagem aparecesse
Erro de validação: o valor mínimo admissível é ‘3’.
aguem tem alguma ideia…
desde já agradeço
Colocou o <h:message for="txtInputPais" />
mapeiou no resource.propertie certinho?
simm ja mapiei messages_pt_BR.properties
no faceles-config.xml
Manda seu jsp ou xhtml 8)
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:a4j="http://richfaces.org/a4j"
xmlns:rich="http://richfaces.org/rich"
xmlns:t="http://myfaces.apache.org/tomahawk"
xmlns:c="http://java.sun.com/jstl/core"
template="/pages/myCrudTemplate.xhtml"
xmlns:custom="http://exemplo.com.br/jsf">
<!-- passa par�metro para o template -->
<ui:param name="defaultBean" value="#{paisBean}" />
<ui:define name="title">
Cadastro de Países
<!-- <t:saveState id="_bean" value="#{paisBean}" />-->
</ui:define>
<ui:define name="head">
<style type="text/css">
.odd-row {
background-color: #ECF3FE;
}
.even-row {
background-color: #FCFFFE;
}
</style>
</ui:define>
<!-- define searchlistBlock -->
<ui:define name="searchlistBlock">
<rich:panel id="block">
<f:facet name="header" rendered="#{defaultBean.pesquisarState}">
<h:outputText value="#{paisBean.pesquisarState ? 'Pesquisar' : 'País'}" />
</f:facet>
<rich:panel id="searchlistBlock"
rendered="#{defaultBean.pesquisarState}">
<h:panelGrid columns="2" rowClasses="odd-row,even-row">
<h:outputText value="ID:" />
<h:panelGrid columns="4">
<h:inputText value="#{paisBean.nome}" size="15" />
<h:outputText value="Nome:" />
<h:inputText value="#{paisBean.nome}" size="100" />
<a4j:commandButton value="Pesquisar" action="#{paisBean.pesquisar}" />
</h:panelGrid>
</h:panelGrid>
<rich:spacer height="30" />
<rich:extendedDataTable value="#{paisBean.paises}" var="pais" ajaxSingle="false"
id="table" width="100%"
height="400px" sortMode="single" selection="#{paisBean.selection}"
selectionMode="single">
<rich:column sortable="true" sortBy="#{pais.id}"
width="10%"
label="ID">
<f:facet name="header">
<h:outputText value="ID" />
</f:facet>
<h:outputText value="#{pais.id}" />
</rich:column>
<rich:column sortable="true" sortBy="#{pais.nmPais}"
width="50%"
label="Pais">
<f:facet name="header">
<h:outputText value="Pais" />
</f:facet>
<h:outputText value="#{pais.nmPais}" />
</rich:column>
<rich:column sortable="true" sortBy="#{pais.sgPais}"
width="10%"
label="Sigla">
<f:facet name="header">
<h:outputText value="Sigla" />
</f:facet>
<h:outputText value="#{pais.sgPais}" />
</rich:column>
<rich:column sortable="true" sortBy="#{pais.ddi}"
width="10%"
label="DDI">
<f:facet name="header">
<h:outputText value="DDI" />
</f:facet>
<h:outputText value="#{pais.ddi}" />
</rich:column>
<rich:column sortable="true" sortBy="#{pais.cdPais}"
width="10%"
label="CD. País">
<f:facet name="header">
<h:outputText value="CD. País" />
</f:facet>
<h:outputText value="#{pais.cdPais}" />
</rich:column>
<a4j:support action="#{paisBean.takeSelection}" event="onclick" />
<f:facet name="footer">
<rich:datascroller align="center" for="table" maxPages="10" />
</f:facet>
</rich:extendedDataTable>
</rich:panel>
<rich:panel id="addUpdateBlock" ajaxSingle="true"
rendered="#{defaultBean.adicionarState or defaultBean.editarState or defaultBean.excluirState}" style="height: 490px;">
<h:panelGrid columns="2" id="panel2"
columnClasses="odd-row,even-row" >
<h:outputLabel value="ID: " />
<h:column>
<h:inputText value="#{paisBean.pais.id}" size="10"
readonly="true" id="txtInputId" style="#{paisBean.editarState ? 'color: gray;' : ''}" onblur="this.value = this.value.toUpperCase();"/>
<br />
<h:message for="txtInputId" errorStyle="color: darkred;" />
</h:column>
<h:outputLabel value="País: " />
<h:column>
<h:inputText value="#{paisBean.pais.nmPais}" size="40"
required="true" id="txtInputPais" maxlength="50"
requiredMessage="Campo Nome é Obrigatorio"
style="#{paisBean.editarState ? 'color: gray;' : ''}" onblur="this.value = this.value.toUpperCase();">
<f:validateLength minimum="3" />
</h:inputText>
<rich:message for="txtInputPais" showSummary="false"
showDetail="false">
<f:facet name="errorMarker">
<a4j:outputPanel>
<h:graphicImage value="/images/error.png" />
<rich:toolTip>
<rich:message for="txtInputPais" />
</rich:toolTip>
</a4j:outputPanel>
</f:facet>
</rich:message>
</h:column>
<h:outputLabel value="Sigla: " />
<h:column>
<h:inputText value="#{paisBean.pais.sgPais}" size="10"
maxlength="2" id="txtInputSigla" redisplay="true"
onblur="this.value = this.value.toUpperCase();" required="true"
requiredMessage="Campo Sigla é Obrigatório." />
<br />
<h:message for="txtInputSigla" errorStyle="color: darkred;" />
</h:column>
<h:outputLabel value="DDI: " />
<h:column>
<h:inputText value="#{paisBean.pais.ddi}" size="10"
required="true" id="txtInputDdi" maxlength="2"
requiredMessage="Campo DDI é Obrigatório."
onblur="this.value = this.value.toUpperCase();" />
<br />
<h:message for="txtInputDdi" errorStyle="color: darkred;" />
</h:column>
<h:outputLabel value="CD. País: " />
<h:column>
<h:inputText value="#{paisBean.pais.cdPais}" size="10"
required="true" id="txtInputCdPais" maxlength="7"
requiredMessage="Campo DDI é Obrigatório."
onblur="this.value = this.value.toUpperCase();" />
<br />
<h:message for="txtInputCdPais" errorStyle="color: darkred;" />
</h:column>
</h:panelGrid>
</rich:panel>
<rich:spacer height="20" />
<center>
<custom:btnNew mbean="#{paisBean}" acao="prepareAdicionar" renderiza="#{paisBean.pesquisarState}"/>
<a4j:commandButton value="Editar" action="#{paisBean.prepareEditar}" style="width: 100px; height: 30px;" rendered="#{paisBean.pesquisarState}"/>
<a4j:commandButton value="Excluir"
action="#{paisBean.prepareExcluir}" style="width: 100px; height: 30px;" rendered="#{paisBean.pesquisarState}"/>
<a4j:commandButton value="Salvar" action="#{paisBean.adicionar}"
rendered="#{paisBean.adicionarState or paisBean.editarState or paisBean.excluirState}" style="width: 100px; height: 30px;"/>
<a4j:commandButton value="Voltar" action="#{paisBean.voltar}"
immediate="true" rendered="#{paisBean.adicionarState or paisBean.editarState or paisBean.excluirState}" style="width: 100px; height: 30px;"/>
</center>
</rich:panel>
</ui:define>
<!-- define addUpdateBlock -->
<ui:define name="addUpdateBlock">
</ui:define>
</ui:composition>
Eu nao quero que apareça: formTamplate:txtInputPais:
formTamplate:txtInputPais: Erro de validação: o valor mínimo inadmissível é ‘3’.
[quote=rxavier]Eu nao quero que apareça: formTamplate:txtInputPais:
formTamplate:txtInputPais: Erro de validação: o valor mínimo inadmissível é ‘3’.
[/quote]
está: <h:message for="txtInputId"
não seria Pais no lugar de Id? olha o id do seu input id="txtInputPais"
Sim !
O ID tem q ser esse mesmo se não ele vai gerar um
ID cabulozo e vai exibir do mesmo jeito
[quote=rxavier]Sim !
O ID tem q ser esse mesmo se não ele vai gerar um
ID cabulozo e vai exibir do mesmo jeito[/quote]
Então acerta seu Id no Messages que está errado ![:smiley: :smiley:](https://www.guj.com.br/images/emoji/twitter/smiley.png?v=6)
e o id do form
vai aparecer tbm e vai ficar estranho
eu quero que so apareça a msg !
tem como fazer isso ou nao ?
Opa foi mal no input falta um label="#{ResourceLabel.txtInputPais}"
teste assim: label="txtInputPais"
valeu agora deu certo
Muito obrigado!!
Valeu Eduardo…