Galera ajuda aee
Tenho um JFormattedField com mascara, exemplo cpf MaskFormatted("###.###.###-##");
Eu defini meu banco de dados com 11 espaços, então ele não lê o campo todo, minha dúvida é, se eu definir no banco de dados 14 espaços que são correspondentes aos ‘.’ e numeros ele vai reconhecer?
Ou preciso fazer um método pra retirar os pontos e traço e ai sim armazenar só os numeros
Se no banco vc definir o cpf como String não tem nenhum problema salvar com pontos junto. Seu campo cpf no banco é numero? Acho que não faz muito sentido.
F
Furyeyes
Meu campo cpf no banco é VARCHAR(11), e sobre gravar com os pontos e traços que você disse, uma amiga disse que o banco não reconheceria e tal, ai eu nem testei se grava ou não, ai defini só 11 posições
Vou Fazer outra tabela, e colocar o cpf com mais posições e testar, se gravar com pontos e traço eu só arrumo isso, mas se não eu vou ter que fazer um método pra retirar esses caracteres que não são dígitos!
Mas valeu a ajuda felipeaps
F
felipeaps
Caso queira armazenar somente os dígitos faça o seguinte:
MaskFormatter mask = new MaskFormatter("SUA MASCARA");
mask.setValueContainsLiteralCharacters(false);
Aí use o jFormattedTextField.getValue().toString(); para recuperar a String.
Se vc tem por exemplo uma mascara de telefone “([telefone removido]”, ele já te retorna [telefone removido].
Mas creio que não vai ter problemas em armazenar pontos e hífens não.
F
Furyeyes
Putz então utiilizando mask.setValueContainsLiteralCharacters(false);
Ele já me dá só os número, que mão na roda, eu estava aqui já pensando em criar um método, pra pegar a string e ir tirando oque não for digito
Valeuu De novo!!!
F
Furyeyes
ow felipe, eu tentei fazer oque você disse, porém ele não deixa fazer, pede para trocar por getName ou getSize....
oque eu coloco...?
masccpf = new MaskFormatter("###.###.###-##"); /* ## - Somente Numeros serão aceitos*/
masccpf.setValueContainsLiteralCharacters(false);
F
felipeaps
Seu setCPF() nao recebe um inteiro não né?
F
Furyeyes
Já achei o erro
Falta de atenção mesmo, como eu tinha feito uns testes sem mascara, coloquei como JTextField e esqueci de colocar Formatted de volta, ai ele não reconhecia