[RESOLVIDO]Primefaces InputMask com campos númericos
8 respostas
R
rcafalchio
Pessoal, estou começando a utilizar o JSF2.0 com primefaces e estou apanhando com alguns componentes.
Minha dúvida é a seguinte, tenho um inputMask para cfp, conforme o código abaixo, a mascara aparece perfeitamente, porém no meu VO que está dentro do ManageBean o cpf é um Long, e o exemplo do primefaces só tem strings, o que acontece é que a validação não deixa eu continuar devido a mascara, alguém sabe como resolver esse problema, creio que seja uma solução simples.
inputMask
<p:inputMaskid="cpf"value="#{controleUsuarioBean.usuario.numeroCpf}"mask="[CPF removido]"requiredMessage="Campo obrigatório não preenchido"/>
Por que não deixa o CPF como String? Você vai fazer algum calculo com ele? Algo tipo CPF x quantidade = x? :?
O calculo pra validar cpf é feito de char em char, fica até mais fácil trabalhar com String.
R
rcafalchio
Tudo bem, eu posso até deixar como String, deixei como Long para ficar mais fácil quando eu for passar para entity e persistir, assim não preciso fazer um Long.valueOf(), entendeu.
Mas mesmo se fosse string, não existe mascara para atributos númericos?
E
ErickRAR
Sinceramente, não sei. Nunca utilizei para numéricos. Salve no banco como String também, assim não precisa de conversão.
J
jtiagoarruda
Usa Convert do JSF para tirar a mascara então faz a validação só com números:
Lembrando que tanbém pode usar o validator do JSF.
Cara, me ajudou muito!
mas estranho é que na versão 3.4.2 eu não precisava desse converter, os valores já iam pro banco sem os caracteres especiais, atualizei pra versão 3.5 do primefaces e os erros começaram a surgir, tive que adicionar esse converter pra me manter na nova versão.