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.
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.
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!!!
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é?
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