brasil_fields
O jeito mais fácil de utilizar padrões e formatos brasileiros em seu projeto.
Apresentação
Este package facilita o desenvolvimento com a linguagem Dart em projetos que utilizam campos com os padrões e formatos brasileiros.
Instalação
dependencies:
brasil_fields: ^0.4.0
Formatters
- CPF (999.999.99-99)
- CNPJ (99.999.999/9999-99)
- CEP (99.999-999)
- Real (R$) (20.550)
- Centavos (R$) (20,90)
- Telefone ( (99) 9999-9999)
- Data (01/01/1900)
- Hora (23:59)
- Cartão bancário (0000 1111 2222 3333 4444)
- Validade de cartão bancário (12/24)
- Altura (2,22)
- Peso (111,1)
- Cpf ou Cnpj (se adapta conforme os números são inseridos)
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: [
FilteringTextInputFormatter.digitsOnly,
CepInputFormatter(),
],
);
CpfInputFormatter()
CnpjInputFormatter()
CepInputFormatter()
RealInputFormatter()
TelefoneInputFormatter()
DataInputFormatter()
HoraInputFormatter()
CartaoBancarioInputFormatter()
ValidadeCartaoInputFormatter()
AlturaInputFormatter()
PesoInputFormatter()
CpfOuCnpjFormatter()
Caso precise de um DropdownButton com algumas das classes de padrões:
DropdownButton(
items: Regioes.listaRegioes.map((String opcao) {
return DropdownMenuItem<String>(
value: opcao,
child: Text(opcao),
);
}).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
(MM/AAAA)UtilData.obterHoraHHMMSS
(hh:mm:ss)UtilData.obterHoraHHMM
(hh:mm)
Para inicializar um TextEditingController
com o texto já formatado, basta escolher o método com o formato desejado e setar no atributo text
:
final _textController = TextEditingController();
_textController.text = UtilData.obterDataDDMMAAAA(DateTime.now());
Libraries
- altura_input_formatter
- brasil_fields
- cartao_bancario_input_formatter
- cep_input_formatter
- cnpj_input_formatter
- compound_formatter
- compoundable_formatter
- cpf_input_formatter
- cpf_ou_cpnj_formatter
- data_input_formatter
- estados
- hora_input_formatter
- meses
- peso_input_formatter
- real_input_formatter
- regioes
- semana
- telefone_input_formatter
- util_brasil_fields
- util_data
- validade_cartao_input_formatter
Dart
- dart:ui
- Built-in types and core primitives for a Flutter application. [...]
- dart:async
- Support for asynchronous programming, with classes such as Future and Stream. [...]
- dart:collection
- Classes and utilities that supplement the collection support in dart:core. [...]
- dart:convert
- Encoders and decoders for converting between different data representations, including JSON and UTF-8. [...]
- dart:core
- Built-in types, collections, and other core functionality for every Dart program. [...]
- dart:developer
- Interact with developer tools such as the debugger and inspector. [...]
- dart:math
- Mathematical constants and functions, plus a random number generator. [...]
- dart:typed_data
- Lists that efficiently handle fixed sized data (for example, unsigned 8 byte integers) and SIMD numeric types. [...]
- dart:ffi
- Foreign Function Interface for interoperability with the C programming language. [...]
- dart:io
- File, socket, HTTP, and other I/O support for non-web applications. [...]
- dart:isolate
- Concurrent programming using isolates: independent workers that are similar to threads but don't share memory, communicating only via messages. [...]
- dart:html
- HTML elements and other resources for web-based applications that need to interact with the browser and the DOM (Document Object Model). [...]
- dart:js
- Low-level support for interoperating with JavaScript. [...]
- dart:js_util
-
Utility methods to manipulate
package:js
annotated JavaScript interop objects in cases where the name to call is not known at runtime. [...]