패키지, 저장소 및 앱 카테고리 검색

패키지 상세v5.0.2

all_validations_br

고급 검증을 위한 강력한 다트 라이브러리: CPF, CNPJ, URL, 비밀번호, 문자열 확인 및 문자 제거. Dart 및 Flutter 프로젝트를 간단하게 만듭니다.

AndroidiOSmacOSWindowsLinux
30일 다운로드
1천
좋아요
98
Pub 점수
160

패키지 설치

flutter pub add all_validations_br

패키지 개요

공개 정보를 바탕으로 생성한 선택 가이드입니다.

브라질 기준에 맞는 고급 검증 작업을 위한 포괄적인 Dart 라이브러리로, CPF 및 CNPJ 확인, URL 유효성 검사, 비밀번호 강도 평가, 문자열 조작을 포함합니다. 신뢰할 수 있고 재사용 가능한 검증 메서드를 제공하여 Flutter 앱에서 폼 처리를 간소화합니다. 여러 플랫폼을 지원하며 최소한의 설정으로 Dart 프로젝트에 원활하게 통합됩니다. 브라질 데이터 형식 준수와 엄격한 데이터 무결성을 요구하는 앱 개발에 이상적입니다.

사용 사례

  • 브라질 앱에서의 폼 검증
  • CPF 및 CNPJ 번호 검증
  • 비밀번호 강도 확인
  • 사용자 입력 정제
  • URL 및 이메일 형식 검증
  • 브라질 기준에 따른 데이터 준수 보장

주요 기능

  • CPF 및 CNPJ 검증
  • 비밀번호 강도 검사
  • URL 및 문자열 검증
  • 문자 제거 유틸리티
  • 크로스 플랫폼 지원
  • pub add를 통한 간편한 통합

적합한 대상

  • 브라질을 대상으로 하는 플러터 앱
  • 백엔드 또는 프론트엔드 데이터 검증
  • 브라질 문서 검증이 필요한 앱
  • 강력한 입력 정제가 필요한 개발자
  • 엄격한 데이터 형식 요구 사항을 가진 프로젝트

고려 사항

  • 브라질 전용 검증에 제한됨
  • 브라질 외 형식의 수동 처리가 필요합니다
  • 복잡한 비즈니스 규칙을 처리하기 위해 추가 로직이 필요할 수 있습니다
  • 국제 검증 요구 사항에 적합하지 않습니다
  • 일부 기능은 외부 종속성에 의존합니다

원본 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

소스 저장소

이 패키지를 사용하는 프로젝트

아직 데이터가 없습니다.