Open johnvoloski opened 11 years ago
Eu vi essa feature em algumas libs quando implementei o meiomask e sempre achei isso ruim em termos de usabilidade. As vezes usuario esquece um numero e vai para o proximo e acaba perdendo todo o conteudo do input. O que voce acha?
Bom dia Fábio,
Entendo, acredito que por este lado tu esteja correto, mas também vai da visão de quem "compra" o sistema, nesse projeto o PO acredita que é melhor limpar os campos caso estejam incorretos pro usuário ver que está com problema, pois é um campo que contém um serial e realmente fica mais fácil quando incorreto apagar automáticamente. Acredito que essa funcionalidade serviria para alguns tipos de campos. Por isso achei que podia ser algo customizável, o default ser não limpar, mas ter a opção.
Estou com a mesma situação do @johnvoloski Acho que poderia criar uma opção configurável e deixar este opcional.
Quando true, no evento "blur", ele apagaria o valor do campo se não fosse valido. @fabiomcosta, já tem algum método que valide se o valor esta valido com a mascara?
ping @johnvoloski
@jcspader , eu fiz essa implementação no plugin, de conseguir setar um evento próprio "blur", em seguida vou enviar o pull request dessa implementação.
Concordo com o Fábio acima, em não limpar automáticamente pois se o usuário esquece teria de redigitar, porém o evento resolveria, se for o caso no blur serviria para implementar o desenvolvedor implementar isso.
@johnvoloski ai é bonito hem! Agradeço a vocês o esforço. O plugin é ótimo!
@johnvoloski Não localizei o pull, você o fez?
@jcspader , Acabei de fazer o pull request :D
@johnvoloski Eu vi pela web que você criou suporte aos eventos Blur e Focus. Mas não achei como ele vai fazer para que quando ele fizer o Blur e o campo não estiver condizente com a mascara, ele apague o valor.
@johnvoloski , @fabiomcosta Tem algum método que retorne se o valor é a valido para a mascara?
Realizei a implementação no meu projeto. Mas acredito que que a minha sugestão para implementar seria bastante útil.
EventBlurClearMask = function (elem, ev) {
if ($(elem).data('mask').mask.length != $(elem).val().length)
$(elem).val("");
};
$('input').setMask({
mask: "999.999.999-99",
onBlur: that.EventBlurClearMask
});
@jcspader , estava realizando uma mudança na estrutura do plugin, agora ele tem testes automatizados e integração continua, a seguir vou começar a resolver as issues pendentes, com prioridade em bugs, e para funcionar perfeitamente em mobile, tables, etc... estou resolvendo com o @fabiomcosta se vamos implementar no plugin está funcionalidade, mas acredito que em breve temos uma posição, agradeço tua ajuda por inclusive nos postar uma idéia de como implementar.
Att.
@jcspader, está implementação irá entrar na próxima versão do plugin 1.1.12.
Att.
@johnvoloski você já liberou esta alteração?
Abraço.
@jcspader
Na inicialização da mascara é possível setar um handler no foco ou saida, pra implementar esse "clear".
https://github.com/fabiomcosta/jquery-meiomask/blob/master/src/meiomask.js#L146 https://github.com/fabiomcosta/jquery-meiomask/blob/master/src/meiomask.js#L147
@johnvoloski Isso eu sei.. até exemplifiquei no post. Mas a sugestão é deixar isso nativo na biblioteca como uma configuração/propriedade de true/false, para fazer na forma automática.
Colocar uma opção de clear no options da máscara para caso não seja preenchido toda a máscara exemplo 'nnn.nnn.nnn-nn' (CPF) ao sair do campo ele seja limpado.