GUMGA / components

GNU Lesser General Public License v3.0
10 stars 10 forks source link

Gumga-mask não suporta números de telefone com tamanho variável #163

Closed marcostrevisan closed 8 years ago

marcostrevisan commented 8 years ago

Atualmente não é possível configurar o gumga-mask para que aceite tanto números de 8 quanto de 9 dígitos (ex: "(44) 8877-6655" e "(11) 98866-7733")

guiseek commented 8 years ago

@marcostrevisan, realmente essa variação não é possível no modo comum, usando a sequência de letras, e números ou os dois, contudo o componente também aceita suas próprias expressões regulares. Você pode criar uma que atenda esse problema de números com 1 número a mais e adicionar ao componente mask.

Na documentação tem um exemplo, segue o link: https://github.com/GUMGA/components/tree/master/src/directives/Mask

marcostrevisan commented 8 years ago

@guiseek até onde mexi, e pelo que vi no fonte, o nome da regex precisa ter um caracter só e a regex também só pode agir sobre um caracter. O próprio exemplo da documentação só funciona renomeando o campo "seuRegex" para outro nome com um único caracter. Os regex /\d\d/ (espera dois caracteres numéricos), /\d?/ (caracter numérico opcional) e /\d?\d/ (um ou dois caracteres numéricos), por exemplo, também não funcionam como esperado: as versões opcionais (/\d?\d/ e /\d?/ ) só funcionam aceitando um caracter obrigatório (exatamente como /\d/ funcionaria) e a versão de dois caracteres (/\d\d/) não aceita nenhum input. Com essas limitações não é possível implementar a funcionalidade desejada.

guiseek commented 8 years ago

é verdade @marcostrevisan, testei aqui e também não funcionou, o componente adiciona um underline por caractere e faz a validação pelo minRequiredLength. vou marcar como bug/improvement e analisamos no próximo sprint, ok? caso veja alguma solução antes, pode fazer um fork do projeto e mandar um pull request, heheh :)

guiseek commented 8 years ago

Olá @marcostrevisan, tente agora usar a máscara desta forma:

<input type="text" ng-model="phone.number" gumga-mask="(99) 9999-9999?9">

Os hífen da máscara não muda de lugar, contudo a validção é aceita tanto com 8, como com 9 digitos. :+1: