flutterbootcamp / brasil_fields

O jeito mais fácil de utilizar padrões e formatos brasileiros em seu projeto
https://flutterbootcamp.github.io/brasil_fields/#/
Other
138 stars 41 forks source link

brasil_fields

Brasil Fields

O jeito mais fácil de utilizar padrões e formatos brasileiros em seu projeto.

Testar agora

codecov

Apresentação

Este package facilita o desenvolvimento de projetos que utilizam campos com os padrões e formatos brasileiros.

Como utilizar

Incluir o formatter no parâmetro inputFormatters.

É necessário adicionar o FilteringTextInputFormatter.digitsOnly para garantir que o campo aceite apenas valores numéricos.

TextFormField(
  inputFormatters: [
    // obrigatório
    FilteringTextInputFormatter.digitsOnly,
    CepInputFormatter(),
  ],
);

Formatters

Padrão Formatter Formato
Altura AlturaInputFormatter() 2,22
Cartão CartaoBancarioInputFormatter() 0000 1111 2222 3333 4444
Centavos CentavosInputFormatter() 7,194
CEP CepInputFormatter() 99.999-999
CPF CpfInputFormatter() 999.999.99-99
CNPJ CnpjInputFormatter() 99.999.999/9999-99
CPF / CNPJ CpfOuCnpjFormatter() se adapta conforme os números são inseridos
CEST CESTInputFormatter() 12.345.67
CNS CNSInputFormatter() 111 2222 3333 4444
Data DataInputFormatter() 01/01/1900
Hora HoraInputFormatter() 23:59
IOF HoraInputFormatter() 1,234567
KM KmInputFormatter() 999.999
Cert. nascimento CertNascimentoInputFormatter() 000000 11 22 3333 4 55555 666 7777777 88
NCM NCMInputFormatter() 1234.56.78
Peso PesoInputFormatter() 111,1
Placa PlacaVeiculoInputFormatter() AAA-1234 (não utilizar FilteringTextInputFormatter.digitsOnly)
Real RealInputFormatter() 20.550
Telefone TelefoneInputFormatter() (99) 9999-9999
Validade cartão ValidadeCartaoInputFormatter() 12/24 ou 12/2024
Temperatura TemperaturaInputFormatter() 27,1

Modelos

Estados.listaEstados
Estados.listaEstadosSigla
Meses.listaMeses
Meses.mapaMeses
Regioes.listaRegioes
Semana.listaDiasUteis
Semana.mapaDiasUteis
Semana.listaDiasUteisAbvr
Semana.mapaDiasUteisAbvr
Semana.listaDiasSemana
Semana.listaDiasSemanaOrdenada

UtilData

Métodos que facilitam obter o valor de um objeto DateTime em formato String (e no padrão brasileiro).

UtilBrasilFields

Métodos que facilitam manipular valores:

Para inicializar um TextEditingController com o texto já formatado, basta escolher o método com o formato desejado e setar no atributo text:

TextEditingController

final dataController = TextEditingController(
  text: UtilData.obterDataDDMMAAAA(DateTime(2024, 12, 31)),
);
final cnpjController = TextEditingController(
  text: UtilBrasilFields.obterCnpj('11222333444455'),
);

Made with contrib.rocks.