Em JSF como fazer um h:inputText aceitar apenas inteiro?
Eu particurlamente gosto de trabalhar com marcaras.
Isso pode resolver seu problema mais tem outras maneiras tbm.
bons codigos
Usar mascras é uma ótima solução, veja aqui uma solução interessante com primefaces: http://quebrandoparadigmas.wordpress.com/
<h:inputText id="hitNotaFiscal" value="#{nfAgenciaController.nfAgencia.nrNFiscal}" required="true"
requiredMessage="Campo Nota Fiscal deve ser preenchido."
converterMessage="Campo Nota fiscal é Numérico.">
<f:convertNumber integerOnly="true" minIntegerDigits="1" />
</h:inputText>
alves.Felipe
a sua sugestao parece boa mas ele nao esta exibindo as mensagens que eu configurei.
e quando entra com virgurla ou ponto ele aceita removendo a virgula e o ponto
se entra com letras ele fica na mesma tela mas nao exibe as msg.
mas as mensagens só aparecem depois de dar um submit…
e tem que tem o h:messages definido…
mas vc precisa desse campo para colocar valores?
ai usa assm:
funcionou beleza agora exibe as mensagem
e quanto ao ponto e virgula parece que vou ter que aceitar
se coloco 45,45 ele joga 45
se coloco 45.45 e a tela permanecer permancer a mesma pela validacao de outro campo ele exibe 4.545 mas salva 4545
obrigado a todos
mas vc não pode deixar o integerOnly=“true” e o caso das casas decimais… é só arrumar conforme
isso aqui <f:convertNumber pattern="##,###,###,###.##" minFractionDigits="2"/>
neste caso eu so quero inteiros
nao quero 45.45 ou 78.9 ou 78,23
so inteiros
desse modo funcionou. obrigado
<f:convertNumber pattern="#######" maxFractionDigits=“0”/>
<h:inputText id="capac"
value="#{espacoFisicoMBean.espacoFisico.capacidade}"
style="width: 250px;"
required="true"
requiredMessage="Campo Capacidade deve ser preenchido."
converterMessage="Campo Capacidade é Numérico.">
<f:convertNumber integerOnly="true" />
<f:convertNumber pattern="#######" maxFractionDigits="0"/>
</h:inputText>
<h:message for="capac" />
blz… mas no caso não precisaria ter 2 f:convertNumber ´´e só colocar os atributos num só…
abraco
Com primefaces.
<p:inputMask mask=“9?99” placeHolder=" " />
Depois da interrogação é o número de casas não obrigatórias. Antes da interrogação são obrigatórias. Ex.
<p:inputMask mask=“99?99999” placeHolder=" " /> neste caso deve have pelo menos 2 dígitos.