fabiomcosta / jquery-meiomask

A jquery plugin for creating masked input texts
http://meiocodigo.com/projects/meiomask
MIT License
233 stars 106 forks source link

Limpar o campo #34

Open johnvoloski opened 11 years ago

johnvoloski commented 11 years ago

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.

fabiomcosta commented 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?

johnvoloski commented 11 years ago

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.

jcspader commented 11 years ago

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?

fabiomcosta commented 11 years ago

ping @johnvoloski

johnvoloski commented 11 years ago

@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.

jcspader commented 11 years ago

@johnvoloski ai é bonito hem! Agradeço a vocês o esforço. O plugin é ótimo!

jcspader commented 11 years ago

@johnvoloski Não localizei o pull, você o fez?

johnvoloski commented 11 years ago

@jcspader , Acabei de fazer o pull request :D

jcspader commented 11 years ago

@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.

jcspader commented 11 years ago

@johnvoloski , @fabiomcosta Tem algum método que retorne se o valor é a valido para a mascara?

jcspader commented 11 years ago

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
    });
johnvoloski commented 11 years ago

@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.

johnvoloski commented 11 years ago

@jcspader, está implementação irá entrar na próxima versão do plugin 1.1.12.

Att.

jcspader commented 10 years ago

@johnvoloski você já liberou esta alteração?

Abraço.

johnvoloski commented 10 years ago

@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

jcspader commented 10 years ago

@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.