Closed marcostrevisan closed 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
@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.
é 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 :)
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:
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")