Boa Tarde pessoal.
Tenho um campo chamado número, ele tem 20 posições mas quero deixar o usuário só dar input em caracteres numéricos. Pesquisei Jquery mas se eu defino o tamanho da máscara o usuário é obrigado a por aquele número.
Existe algum meio de usar o Jquery dinamicamente, se o usuário quiser digitar 4 caracteres ele so aceita numérico, se ele digitar 10 caracteres numéricos só aceitara numerico para esse campo.;
Meu código em JSF para CEP funciona, pois CEP tem quantidade de números fixos, já um campo de número de casa não precisa ter 5 números, pode ter 10 100 1000 e por ai vai
<h:inputText id="inCEP"
value="#{DenunciaView.denuncia.denunEndereco.endCep}"
disabled="#{DenunciaView.disableCep}" size="8" maxlength="8"
required="true"
requiredMessage="Campo CEP obrigatório">
<rich:jQuery selector="inCEP"
query="mask(99999-999)"
timing="onload" />
<f:converter converterId="converteCep"></f:converter>
<a4j:support reRender="panelGroupEndereco"
event="onblur"
action="#{DenunciaView.buscaPorCep}"
ajaxSingle="true"
focus="inNumero">
</a4j:support>
</h:inputText>
Agora como fazer para esse campo, de aceitar somente caracteres numéricos mas sem definir mascara ou quantidade de dígitos:
<h:outputLabel id="outNumero"
value="Número">
</h:outputLabel>
<h:inputText id="inNumero"
value="#{DenunciaView.denuncia.denunEndereco.endNumero}"
disabled="#{DenunciaView.disableNumero}"
required="true"
requiredMessage="Campo Número obrigatório">
</h:inputText>
Valeu ae, começei a trampar com JAVA WEB e só sabia desktop e to me quebrando todo, mas to aprendendo pacas XD
De uma lida neste post acho que pode te ajudar.
O JSF já faz a validação automática se o campo for numerico no lado server, isso no submit do formulário, agora só permitir digitar numeros acho que teria de ser com javascript mesmo … montar uma função que só aceita determinado intervalo de caracteres …
Pessoal estou com uma dificuldade, tenho q entregar isso e arrumo um problema e me aparece outro ja to ficando indignado.
a tag de converter pra essa situação funciona. Para a outra nao.
FUNCIONA
<h:inputText id="inNumero"
value="#{DenunciaView.denuncia.denunEndereco.endNumero}"
disabled="#{DenunciaView.disableNumero}"
required="true"
requiredMessage="Campo Número obrigatório"
converterMessage="Digite apenas número neste campo">
<f:convertNumber integerOnly="true"/>
</h:inputText>
NAO FUNCIONA
<h:inputText id="inCEP"
value="#{DenunciaView.denuncia.denunEndereco.endCep}"
disabled="#{DenunciaView.disableCep}" size="8" maxlength="8"
required="true"
requiredMessage="Campo CEP obrigatório"
converterMessage="Digite apenas número neste campo">
<rich:jQuery selector="inCEP"
query="mask(99999-999)"
timing="onload" />
<f:converter converterId="converteCep"></f:converter>
<f:convertNumber integerOnly="true"/>
<a4j:support reRender="panelGroupEndereco"
event="onblur"
action="#{DenunciaView.buscaPorCep}"
ajaxSingle="true"
focus="inNumero">
</a4j:support>
</h:inputText>
alguem sabe pq o <f:convertNumber integerOnly=“true”/> funciona pra um e pra outro nao?
Tino_
Novembro 11, 2014, 11:13am
#5
Só tem topico sem fechar no forum ou é impressão minha ?
enfim.
Alguem sabe uma forma facil com JSF 2.2 e Prime uma forma de mascarar o input depois que sai do componente?
tipo onblur…
vlw…
(Obs: se conseguir postarei o resultado…)
Tino_
Novembro 11, 2014, 11:42am
#6
<p:inputText
id="tx_yourInput"
value="#{yourController.valueOfNumber}">
<f:convertNumber pattern="#,##0.00" />
<p:ajax event="blur" update="tx_yourInput" partialSubmit="true"/>
</p:inputText>
pronto, ajudando a melhorar o forum…
uma resposta…