搜索插件、代码仓与 APP 分类

插件详情v5.0.2

all_validations_br

一个功能强大的 Dart 库,用于高级验证:CPF、CNPJ、URL、密码、字符串检查和字符移除。简化您的 Dart 和 Flutter 项目。

AndroidiOSmacOSWindowsLinux
近 30 天下载
1000
喜欢数
98
Pub 分数
160

安装插件

flutter pub add all_validations_br

插件介绍

基于插件公开信息、社区数据与项目使用情况整理的选型参考。

一个全面的 Dart 库,专为符合巴西标准的高级验证任务而设计,包括 CPF 和 CNPJ 检查、URL 验证、密码强度评估和字符串操作。它通过提供可靠且可重用的验证方法,简化了 Flutter 应用中的表单处理。该包支持多个平台,并能以最少的设置无缝集成到 Dart 项目中。非常适合需要严格数据完整性和符合巴西数据格式的应用开发。

适合场景

  • 巴西应用中的表单验证
  • 验证 CPF 和 CNPJ 号码
  • 检查密码强度
  • 清理用户输入
  • 验证 URL 和电子邮件格式
  • 确保数据符合巴西标准

主要特点

  • CPF 和 CNPJ 验证
  • 密码强度检查
  • URL 和字符串验证
  • 字符删除工具
  • 跨平台支持
  • 通过 pub add 轻松集成

适合对象

  • 针对巴西的Flutter应用
  • 后端或前端数据验证
  • 需要巴西文件验证的应用程序
  • 需要强大输入清理功能的开发人员
  • 具有严格数据格式要求的项目

使用建议

  • 仅限巴西特定的验证
  • 需要手动处理非巴西格式
  • 可能需要额外的逻辑来处理复杂的业务规则
  • 不适用于国际验证需求
  • 某些功能依赖外部依赖项

原始 README

以下为关联源码仓库的 README 原文快照,最新内容请访问源码仓库。

all_validations_br

🇧🇷 Português | 🇺🇸 English

pub package CI license: MIT

O toolkit completo do ecossistema All para aplicações brasileiras em Flutter: validações, formulários, Result, logging e criptografia em uma única dependência, preservando também os imports históricos do pacote.

all_validations_br toolkit

Por que usar

all_validations_br é a porta de entrada para projetos Flutter que precisam de vários módulos do ecossistema. Um único import disponibiliza regras brasileiras, máscaras, contratos de resultado, logs estruturados e criptografia autenticada.

  • Uma dependência para os cinco módulos oficiais.
  • APIs especializadas mantidas em pacotes independentes e testáveis.
  • Compatibilidade com projetos que já utilizam os imports históricos.
  • Caminho de migração gradual para dependências menores.
  • Exemplo Flutter integrado com cenários reais.

O que está incluído

Área Pacote incluído Principais recursos
Validações all_br_validations ^1.0.3 CPF, CNPJ, documentos, BrZod, Contract, formatadores e modelos BR
Formulários all_br_forms ^1.0.1 24 máscaras e TextInputFormatters para Flutter
Resultados all_result ^1.0.2 Result<F, S>, composição síncrona e assíncrona
Logging all_logger ^1.0.2 níveis, filtros, cores, printers e outputs
Criptografia all_crypto ^1.0.2 ChaCha20-Poly1305, AES-GCM, SHA-256, HMAC e envelope v2
Compatibilidade incluída no agregador HelperUtil e barrels históricos

Essas dependências são instaladas automaticamente. Não é necessário declará-las separadamente ao usar o toolkit.

Instalação

dependencies:
  all_validations_br: ^5.0.2
import 'package:all_validations_br/all_validations_br.dart';

Uso rápido

Validar e formatar dados brasileiros
final cpfValido = AllValidations.isCpf('529.982.247-25');
final documento = BrFormatter.formatCpf('52998224725');

final validator = BrZod().required().cpf().build;
final mensagem = validator('529.982.247-25'); // null: valor válido
Máscara e validação no mesmo campo
TextFormField(
  inputFormatters: const [PhoneMask()],
  autovalidateMode: AutovalidateMode.onUserInteraction,
  validator: BrZod().required().phone().build,
)

A máscara controla a digitação; o BrZod valida o valor. Uma máscara, sozinha, não comprova dígitos verificadores nem regras de domínio.

Falhas explícitas com Result
Result<String, String> validateCustomer(String cpf) {
  final error = BrZod().required().cpf().build(cpf);
  return error == null
      ? Result.success<String, String>(cpf)
      : Result.failure<String, String>(error);
}

final message = validateCustomer('529.982.247-25').fold(
  (failure) => failure,
  (value) => 'CPF aceito: $value',
);
Logging controlado por ambiente
final log = BrLogger(tag: 'Checkout');
log.info('pedido validado');
log.warning('gateway com latência elevada');
log.dispose();

O filtro padrão bloqueia logs em release. A liberação em produção precisa ser explícita. O logger não remove dados sensíveis automaticamente.

Criptografia autenticada com chave externa
final key = AllCrypto.generateKey(); // armazene em keychain, KMS ou cofre
final envelope = AllCrypto.encryptText('segredo', key: key);
final token = envelope.toBase64(); // nunca contém a chave

final restored = CryptEnvelope.fromBase64(token);
final plaintext = AllCrypto.decryptText(restored, key: key);

Para dados novos, prefira AllCrypto e CryptEnvelope. O pacote não fornece cofre de chaves, KDF de senha, TLS ou autenticação de usuários.

Toolkit completo ou módulos separados?

Use all_validations_br quando a aplicação é Flutter e utiliza vários módulos, ou quando precisa manter compatibilidade enquanto migra. Em projetos novos que usam apenas uma área, instale diretamente o pacote especializado. Projetos Dart puros não devem instalar este agregador, pois all_br_forms adiciona Flutter ao grafo de dependências.

Se você precisa apenas de... Instale diretamente
validações e regras brasileiras all_br_validations
máscaras Flutter all_br_forms
falhas tipadas all_result
logging all_logger
criptografia e hashes all_crypto

Compatibilidade

O barrel principal e os imports históricos validation.dart, br_zod.dart, br_logger.dart, crypt.dart e regions_validations.dart continuam disponíveis. HelperUtil permanece no agregador para compatibilidade, exceto por validatePixKey, removido na 5.0.2 para eliminar a validação duplicada. Use AllValidations.validatePixKey, que retorna PixKeyType.

HelperUtil.maskPixKey permanece disponível e usa o validador tipado como fonte única. Entradas desconhecidas não vazias são mascaradas como ***.

Na migração da 4.5.2, deep imports em src/ precisam ser substituídos e o logger passa a ficar totalmente desligado em release por padrão. Consulte o guia de migração.

Exemplo integrado

O aplicativo de exemplo demonstra validações, máscaras, utilitários e criptografia. Execute com:

cd example
flutter pub get
flutter run

Documentação

Licença MIT.

所属分类

依赖

依赖清单 5 项

  • all_br_forms>=1.0.1 <2.0.0
  • all_br_validations>=1.0.3 <2.0.0
  • all_crypto>=1.0.2 <2.0.0
  • all_logger>=1.0.2 <2.0.0
  • all_result>=1.0.2 <2.0.0

源码仓库

使用此插件的项目

暂无相关数据。