Pakete, Repositories und App-Kategorien suchen

GitHub-RepositoryCriandoGames/all_validations_br

all_validations_br

Dart/Flutter-Bibliothek für brasilianische Validierungen (CPF, CNPJ, PIX, CEP usw.), Hilfsfunktionen (JWT, UUID, Währung, Daten) und authentifizierte Verschlüsselung (ChaCha20-Poly1305). Keine externen Abhängigkeiten.

Projektcover von all_validations_br
Sterne
13
Forks
5
Letzter Push (UTC)
03.08.2026
Projektstatus
Aktiv

Original-README

Englischer Projektschnappschuss. Aktuelle Inhalte auf GitHub.

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.

Carlos Castro GitHub avatar
GitHub-Autor

Carlos Castro ↗

Developer back-end node and front-end with flutter

CarlosCastroRio de JaneiroOffizielle Website ↗
SprachenDartHTMLSwiftKotlinObjective-C

Kategorien

Von diesem Repository veröffentlichte Pakete

Verwendete Abhängigkeiten

Abhängigkeiten 8 Einträge

  • 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
  • flutter{"sdk":"flutter"}
  • flutter_lintsEntwicklung^3.0.0
  • flutter_testEntwicklung{"sdk":"flutter"}

Wie wähle ich ein passendes Repository?

Nach Anwendungsfall filtern, Aktivität vergleichen und vor der Nutzung das Originalprojekt prüfen.

  1. Nach Name, Autor oder Beschreibung suchen und nach Thema eingrenzen.
  2. Sterne, Forks und letzte Pushes vergleichen. Sterne zeigen Interesse, garantieren aber keine Qualität.
  3. Vor der Nutzung README, Lizenz und Issues auf GitHub prüfen.

Quellen und Pflege

“A repository is the most basic element of GitHub.”

GitHub Docs — About repositories ↗