搜尋套件、儲存庫與 APP 分類

brasil_fields 封面
套件詳情v1.21.1

brasil_fields

在您的 Dart 專案中使用巴西模式和格式的最簡單方法。

AndroidiOSWebmacOSWindowsLinux
近 30 天下載
3.5萬
喜歡數
579
Pub 分數
160

安裝套件

flutter pub add brasil_fields

套件介紹

根據套件公開資料產生的選型評估,僅供參考。

BrasilFields 是一個 Dart 套件,專為簡化在 Flutter 應用程式中使用巴西格式與驗證模式而設計。它提供即用型元件與實用工具,以處理常見的巴西資料格式,例如 CPF、CNPJ、電話號碼、日期與貨幣。該套件確保輸入格式一致並支援即時驗證,提升巴西使用者的體驗。支援所有主要平台,可輕鬆整合至任何需要地區化輸入處理的 Flutter 專案中。

適用情境

  • 帶有巴西格式的表單輸入
  • CPF/CNPJ 驗證
  • 電話號碼遮蔽
  • 貨幣和日期輸入格式化
  • 即時資料驗證
  • 巴西應用的本地化

主要特色

  • 預定義的巴西格式模式
  • 自動輸入遮罩
  • 內建驗證規則
  • 跨平台相容性
  • 與 TextFormField 的輕鬆整合
  • 支援多種巴西資料類型

適合對象

  • 面向巴西用戶的Flutter應用
  • 需要嚴格資料驗證的表單
  • 需要快速巴西格式化解決方案的開發人員
  • 具有國際化需求的項目
  • 處理金融或個人數據的應用程式

使用建議

  • 需要手動設定以支援自定格式
  • 僅限巴西特定模式
  • 可能需要額外的樣式以保持UI一致性
  • 依賴於 Flutter 的文字輸入系統
  • 不適用於非巴西地區設定

原始 README

以下為關聯原始碼儲存庫的 README 原文快照,最新內容請造訪原始碼儲存庫。

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(),
  ],
);
EXCEÇÃO: CNPJ 2026 E Placa de veículos

CnpjAlfanumericoInputFormatter e PlacaVeiculoInputFormatter são formatters alfanuméricos, sendo assim, o FilteringTextInputFormatter.digitsOnly não deve ser informado.

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
CNPJ (2026) CnpjAlfanumericoInputFormatter() 99.999.999/9999-99 ou A1.B2C.3D4/E5F6-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 IOFInputFormatter() 1,234567
KM KmInputFormatter() 999.999
Cert. nascimento CertNascimentoInputFormatter() 000000 11 22 3333 4 55555 666 7777777 88
NCM NCMInputFormatter() 1234.56.78
NUP NUPInputFormatter() 1234567-89.0123.4.56.7890
Peso PesoInputFormatter() 111,1
Placa PlacaVeiculoInputFormatter() AAA-1234 (*)
Real RealInputFormatter() 20.550
Telefone TelefoneInputFormatter() (99) 9999-9999
Validade cartão ValidadeCartaoInputFormatter() 12/24 ou 12/2024
Temperatura TemperaturaInputFormatter() 27,1

(*) Não utilizar FilteringTextInputFormatter.digitsOnly. Estes formatters são alfanuméricos.

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

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
  • UtilData.obterDateTime
  • UtilData.obterDateTimeHora
  • UtilData.obterDateTimeHoraMinuto
UtilBrasilFields

Métodos que facilitam manipular valores:

  • UtilBrasilFields.gerarCPF() (XXX.XXX.XXX-XX)
  • UtilBrasilFields.gerarCPF(false) (XXXXXXXXXXX)
  • UtilBrasilFields.gerarCNPJ() (XX.YYY.ZZZ/NNNN-SS)
  • UtilBrasilFields.gerarCNPJ(false) (XXYYYZZZNNNNSS)
  • 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.obterNUP('06010642120226000000') (0601064-21.2022.6.00.0000)
  • UtilBrasilFields.obterTelefone('00999998877') ((00) 99999-8877)
  • UtilBrasilFields.obterTelefone('(00) 99999-8877', mascara: false) (00999998877)
  • UtilBrasilFields.obterTelefone('999998877', ddd: false) (99999-8877)
  • UtilBrasilFields.obterTelefone('99999-8877', ddd: false, mascara: false) (999998877)
  • UtilBrasilFields.obterReal (R$ 50.000,00 ou 50.000,00)
  • UtilBrasilFields.obterReal(85437107.04) (R$ 85.437.107,04)
  • UtilBrasilFields.obterReal(85437107.04, moeda: false) (85.437.107,04)
  • UtilBrasilFields.obterReal(85437107.04, moeda: false, decimal: 0) (85.437.107)
  • UtilBrasilFields.obterDDD('00999998877') (00)
  • UtilBrasilFields.obterKM(999999) (999.999)
  • UtilBrasilFields.removeCaracteres (remove caracteres especiais)
  • UtilBrasilFields.removerSimboloMoeda (remove o R$)
  • UtilBrasilFields.converterMoedaParaDouble (remove o R$ e retorna um double)
  • UtilBrasilFields.isCPFValido (retorna true se o CPF for válido, caso contrário, retorna false)
  • UtilBrasilFields.isCNPJValido (retorna true se o CNPJ for válido, caso contrário, retorna false)
  • UtilBrasilFields.isNUPValido (retorna true se o NUP for válido, caso contrário, retorna false)

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.

所屬分類

依賴

依賴清單 1 項

原始碼儲存庫

使用此套件的專案

暫無相關資料。