Estamos usando JQuery com masked input para validar os campos de cnpj,
telefone, data e muitos outros, só que parece que o pessoal não gostou muito do fato
do JQuery apagar o que foi preenchido no campo se não se preenche até o final.
Ou seja, o usuário está digitando o cpf dele, se ele sai do campo sem terminar de preencher
até o ultimo caracter, o valor que ele já digitou é apagado.
Alguém por aqui já viveu algum problema parecido … gostaria de saber a melhor maneira de impedir
que a JQuery apague os campos incompletos.
Verdade isso é interessante não tinha reparado nisso.
ferro e agora
G
guitartiago
Ah cara… eu acho o JQuery mó novela… só que na empresa aqui usamos esse mesmo tipo de validação… seria bom saber um outro meio rapido e eficiente para a validação dos campos… se alguém puder ajudar eu tb gostaria de saber como… valew
N
Neto.Sabio
Cara pelo que entendi. Voce precisa controlar esses campos por session e nao persistindo direto. O methodo que voce esta usando para validar os campos estao em session ou em request ?
espero ter ajudado
R
robertogeller
E aí Manú.
Cara… tudo q eu posso fazer é te dar como sugestão esse livro aqui: jQuery in Action.
Até quinta!
Abração,
Beto.
E
esantana
Entao,
também acho que seria muito bom encontrar algo tão eficiente, rápido e que ainda seja cross-browser.
Mudar o comportamento dessas funções de JQuery não está sendo tarefa fácil.
Mas acredito ainda que haja uma maneira de fazê-lo.
L
loureiro
É verdade. Procurei em alguns lugares a solução mas até agora nada.
Abraços!
E
Eduardo_Bregaida
Simples, qdo o cara submeter a pagina manda uma msg de erro dizendo q o valor do campo é invalido ou faz um método na saida do campo em JS (nao se sei é o on blur) e verifica se ele digitou tudo…
O JQuery nao tem q garantir q ele digite completo, apenas tem q garantir a mascara
E
esantana
Simples, qdo o cara submeter a pagina manda uma msg de erro dizendo q o valor do campo é invalido ou faz um método na saida do campo em JS (nao se sei é o on blur) e verifica se ele digitou tudo…
O JQuery nao tem q garantir q ele digite completo, apenas tem q garantir a mascara
Bregaida,
Valeu pela solução cara,
mas não é tão simples assim aqui, queremos ter campos que impossibilitem que o
usuário de digitar algo inválido sabe. Tem que funcionar como uma máscara mesmo.
Isso é a exigência, o que preciso agora é uma forma de modificar essa função do JQuery,
ou usar uma função semelhante que apenas não apague o que o usuário digitou quando ele passar para outro
campo e deixar o anterior incompleto, só isso. Estou pegando esse material teórico de JQuery para dar uma estudada,
se encontrar algo vou postar aqui.
Muito obrigado pela força galera
E
Eduardo_Bregaida
esantana:
Simples, qdo o cara submeter a pagina manda uma msg de erro dizendo q o valor do campo é invalido ou faz um método na saida do campo em JS (nao se sei é o on blur) e verifica se ele digitou tudo…
O JQuery nao tem q garantir q ele digite completo, apenas tem q garantir a mascara
Bregaida,
Valeu pela solução cara,
mas não é tão simples assim aqui, queremos ter campos que impossibilitem que o
usuário de digitar algo inválido sabe. Tem que funcionar como uma máscara mesmo.
Isso é a exigência, o que preciso agora é uma forma de modificar essa função do JQuery,
ou usar uma função semelhante que apenas não apague o que o usuário digitou quando ele passar para outro
campo e deixar o anterior incompleto, só isso. Estou pegando esse material teórico de JQuery para dar uma estudada,
se encontrar algo vou postar aqui.
Muito obrigado pela força galera
N precisa disparar msg faz uma validação qdo ele perder o foco do campo em JS e bota o foco lá de novo… cria um UTIL.js e bota esse metodo lá.
JQuery q faz a mascara n tem q garantir q o usuário vá realmente preencher tudo.
Lembre-se de coisas do tipo mascara de valor, se um valor nao tem milhar o JQuery n iria deixar o cara sair do campo?
=)
000.000,00
Só pensar assim
Se vc quer obrigar cria um metodo de validação em JS e bota pra rodar qdo perder o foco, caso o cara n digite só botar o foco no campo de novo.
E
esantana
Pensei nisso, mas pelo que entendi não querem ficar presos no campo, querem poder sair dele e
deixar ele pela metade …
Estou encontrando alguns trechos de código nas libs do masked input que acredito que conseguirei mudar
esse comportamento.
Valeu pela colaboração ai Bregaida
E
Eduardo_Bregaida
esantana:
Se vc quer obrigar cria um metodo de validação em JS e bota pra rodar qdo perder o foco, caso o cara n digite só botar o foco no campo de novo
Pensei nisso, mas pelo que entendi não querem ficar presos no campo, querem poder sair dele e
deixar ele pela metade …
Estou encontrando alguns trechos de código nas libs do masked input que acredito que conseguirei mudar
esse comportamento.
Valeu pela colaboração ai Bregaida
Hum… entendi errado então, mas por default vc pode criar um método q utiliza essa mascara e no teu método vc nao apaga… dá uma olhada lá nos 2 links q te passei no blog q sei q vão te ajudar pq eu tive q enfrentar alguns problemas assim ai
G
giulianocosta
Cara, é só tu usar o o caracter “?” na tua máscara pra indicar até onde o usuário tem que digitar necessariamente e não apagar se perder o foco.
Exemplo, quero que o usuário digite até o mês numa máscara de data e não perca o valor caso mude o foco:
mascara: 99/99/?9999
Se o usuário digitar “12/1” ele apaga tudo, agora se ele for até “12/10” ele não apaga.
Sendo assim, se tu quiser permitir que o cara vá até qualquer lugar da máscara digitando e não perca o valor se mudar o foco, tu faz assim:
?99/99/9999
Assim, ele pode ir a qualquer posição da data sem perder o que digitou caso mude o foco. O “?” é como uma âncora na máscara.
G
guieloi
giulianocosta:
Cara, é só tu usar o o caracter “?” na tua máscara pra indicar até onde o usuário tem que digitar necessariamente e não apagar se perder o foco.
Exemplo, quero que o usuário digite até o mês numa máscara de data e não perca o valor caso mude o foco:
mascara: 99/99/?9999
Se o usuário digitar “12/1” ele apaga tudo, agora se ele for até “12/10” ele não apaga.
Sendo assim, se tu quiser permitir que o cara vá até qualquer lugar da máscara digitando e não perca o valor se mudar o foco, tu faz assim:
?99/99/9999
Assim, ele pode ir a qualquer posição da data sem perder o que digitou caso mude o foco. O “?” é como uma âncora na máscara.