Code Monkey home page Code Monkey logo

brasil_fields's Introduction

brasil_fields

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

Testar agora

Apresentação

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

Instalação

dependencies:
  brasil_fields: 1.2.0

Formatters

  • Altura (2,22)
  • Cartão bancário (0000 1111 2222 3333 4444)
  • CEP (99.999-999)
  • CNPJ (99.999.999/9999-99)
  • CPF (999.999.99-99)
  • Cpf ou Cnpj (se adapta conforme os números são inseridos)
  • Data (01/01/1900)
  • Hora (23:59)
  • KM (999.999)
  • Peso (111,1)
  • Placa de veículo (AAA-1234)
  • Real (R$) (20.550)
  • Telefone ( (99) 9999-9999)
  • Validade de cartão bancário (12/24)

Padrões

  • Estados
  • Meses
  • Regiões
  • Semana

Como utilizar

Basta incluir o formatter que você quer que o campo tenha, na lista de inputFormatters :

Para garantir que o campo aceite apenas valores numéricos, utilize em conjunto com o formatter FilteringTextInputFormatter.digitsOnly .

TextFormField(
  inputFormatters: [
    // obrigatório
    FilteringTextInputFormatter.digitsOnly,
    CepInputFormatter(),
  ],
);
  • AlturaInputFormatter()
  • CartaoBancarioInputFormatter()
  • CepInputFormatter()
  • CnpjInputFormatter()
  • CpfInputFormatter()
  • CpfOuCnpjFormatter()
  • DataInputFormatter()
  • HoraInputFormatter()
  • KmInputFormatter()
  • PesoInputFormatter()
  • PlacaVeiculoInputFormatter() (atenção: nao utilizar FilteringTextInputFormatter.digitsOnly)
  • RealInputFormatter()
  • TelefoneInputFormatter()
  • ValidadeCartaoInputFormatter()

Caso precise de um DropdownButton com algumas das classes de padrões:

DropdownButton<String>(
  hint: Text('Região'),
  onChanged: (regiaoSelecionada) {
    print(regiaoSelecionada);
  },
  items: Regioes.listaRegioes.map((String regiao) {
    return DropdownMenuItem(
      value: regiao,
      child: Text(regiao),
    );
  }).toList(),
)

Métodos úteis

A classe UtilData possui métodos que facilitam obter o valor de um objeto DateTime em formato String (e no padrão brasileiro).

  • UtilData.obterDataDDMMAAAA (DD/MM/AAAA)
  • UtilData.obterDataMMAAAA (MM/AAAA)
  • UtilData.obterDataDDMM (DD/MM)
  • UtilData.obterHoraHHMMSS (hh:mm:ss)
  • UtilData.obterHoraHHMM (hh:mm)
  • UtilData.obterMes
  • UtilData.obterDia

A classe UtilBrasilFields possui métodos que facilitam obtert os valores CEP, CPF e CPNJ já formatados:

  • UtilBrasilFields.obterCpf('11122233344') (111.222.333-44)
  • UtilBrasilFields.obterCnpj('11222333444455') (11.222.333/4444-55)
  • UtilBrasilFields.obterCep('11222333') (11.222-333)
  • UtilBrasilFields.obterCep('11222333', ponto: false) (11222-333)
  • UtilBrasilFields.obterTelefone('00999998877') ((00) 99999-8877)
  • UtilBrasilFields.obterTelefone('999998877', ddd: false) (99999-8877)
  • UtilBrasilFields.obterDDD('00999998877') (00)
  • UtilBrasilFields.removerSimboloMoeda (remove o R$)
  • UtilBrasilFields.converterMoedaParaDouble (remove o R$ e retorna um double)

A classe UtilBrasilFields possui métodos para validar CPF e CNPJ: isCPFValido e isCNPJValido.

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

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

brasil_fields's People

Contributors

allanwolski avatar ascenio avatar cpelegrin avatar edufolly avatar fogaiht avatar joaovvrodrigues avatar lstonussi avatar rubensdemelo avatar silasrm avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.