Orientação gerada a partir de informações públicas. Apenas para referência.
Flutter Masked Text 2 é um pacote do Flutter que permite entrada de texto formatado com máscaras personalizáveis, ideal para campos como números de telefone, datas e cartões de crédito. Oferece validação e formatação em tempo real enquanto os usuários digitam, garantindo consistência dos dados. O pacote suporta múltiplas plataformas, incluindo Android, iOS, Web, macOS, Windows e Linux. É leve, fácil de integrar e mantém a posição do cursor durante a digitação. Projetado para desenvolvedores que buscam manipulação intuitiva e amigável ao usuário de entradas sem sacrificar desempenho.
Casos de uso
Entrada de número de telefone
Formatação de data e hora
Inserir número do cartão de crédito
Máscaras numéricas ou alfanuméricas personalizadas
Validação de campo de formulário
Entrada de dados amigável ao usuário
Principais recursos
Mascaramento e formatação em tempo real
Preservação da posição do cursor
Suporte para múltiplas plataformas
padrões de máscara configuráveis
Validação embutida
Integração fácil com TextFormField
Indicado para
Desenvolvedores criando formulários com entrada estruturada
Aplicativos que exigem formatação de dados consistente
Projetos que precisam de compatibilidade entre plataformas
aplicações centradas na experiência do usuário
Campos de entrada com requisitos rígidos de formato
Considerações
Pode exigir um design cuidadoso do padrão de máscara
Suporte limitado para alterações dinâmicas de máscara
Complexidade potencial com máscaras aninhadas ou condicionais
Não adequado para entrada de texto não estruturado
Impacto no desempenho com máscaras muito complexas
README original
Snapshot do README original do repositório-fonte vinculado. Consulte o repositório para o conteúdo mais recente.
flutter_masked_text
Masked text input for flutter.
Alert
Hi guys!
Unfortunately, I'm not developing mobile anymore. This repo will not receive updates.
If you want to use default translator but override some of then, just get base from getDefaultTranslator and override what you want (here is a sample for obfuscated credit card):
var translator = MaskedTextController.getDefaultTranslator(); // get new instance of default translator.
translator.remove('*'); // removing wildcard translator.var controller = newMaskedTextController(mask: '0000 **** **** 0000', translator: translator);
controller.updateText('12345678');
print(controller.text); //1234 **** **** 5678
Change the mask in runtime
You can use the updateMask method to change the mask after the controller was created.
In some cases, you will want to validate the mask value to decide if it's allowed to input or not.
It's simple: you just need to set the beforeChange and return true or false. If you return true, it will accept the new value and will try to apply the mask. Otherwhise, it will reject the new value.
The function receives two parameters:
previous: the previous text of the controller.
next: the next text that will be masked.
var controller = newMaskedTextController(mask: '(00) 0000-0000');
controller.beforeChange = (String previous, String next) {
// my logic herereturntrue;
};
Hook: afterChange [v0.7.0+]
This function will be called after setted in the controller.