BrZod class
Validador fluente para Flutter/Dart com foco em validações brasileiras.
Uso básico
TextFormField(
validator: BrZod().required().email().build,
)
Locale customizado
BrZod(locale: MyLocale()).required().cpf().build
// ou globalmente:
BrZod.defaultLocale = MyLocale();
Validação de Map (APIs)
final result = BrZod.validate(
data: {'email': 'foo', 'cpf': '111'},
params: {
'email': BrZod().required().email(),
'cpf': BrZod().required().cpf(),
},
);
if (result.isNotValid) print(result.errors);
Constructors
- BrZod({ILocaleBrZod? locale})
Properties
- hashCode → int
-
The hash code for this object.
no setterinherited
- locale → ILocaleBrZod?
-
Locale desta instância. Se
null, usa defaultLocale.final - runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
Methods
-
build(
dynamic value) → String? -
Executa todos os validadores em ordem e retorna a primeira mensagem
de erro encontrada, ou
nullse o valor for válido. -
cep(
[String? message]) → BrZod -
CEP brasileiro — formato
00000-000ou00000000. -
cnh(
[String? message]) → BrZod - CNH — 11 dígitos com dois dígitos verificadores via módulo 11.
-
cnpj(
[String? message]) → BrZod - CNPJ numérico válido (com ou sem máscara).
-
cnpjAlfa(
[String? message]) → BrZod - CNPJ alfanumérico — IN RFB 2229/2024 (vigente a partir de julho/2026).
-
cns(
[String? message]) → BrZod - CNS (Cartão Nacional de Saúde) — 15 dígitos, algoritmo DATASUS.
-
cpf(
[String? message]) → BrZod - CPF válido (com ou sem máscara). Verifica dígitos verificadores.
-
cpfOuCnpj(
[String? message]) → BrZod - CPF ou CNPJ numérico. Útil em campos de documento genérico.
-
custom(
bool validate(dynamic value), {String? message}) → BrZod - Validação customizada com função arbitrária.
-
email(
[String? message]) → BrZod - Formato de e-mail válido.
-
equals(
dynamic other, [String? message]) → BrZod -
Valor deve ser igual a
other. -
ipv4(
[String? message]) → BrZod -
Endereço IPv4 válido (
0.0.0.0a255.255.255.255). -
ipv6(
[String? message]) → BrZod - Endereço IPv6 válido — formato completo ou comprimido.
-
isAfter(
DateTime min, [String? message]) → BrZod -
Data deve ser posterior a
min. -
isBefore(
DateTime max, [String? message]) → BrZod -
Data deve ser anterior a
max. -
isDate(
[String? message]) → BrZod - Valor deve ser uma data válida.
-
max(
int n, [String? message]) → BrZod -
Máximo de
ncaracteres. -
min(
int n, [String? message]) → BrZod -
Mínimo de
ncaracteres. -
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
optional(
) → BrZod - Campo opcional — se vazio/nulo, interrompe a cadeia sem erro.
-
password(
{PasswordPolicy policy = sec.PasswordPolicy.strong, String? message}) → BrZod - Senha válida conforme política configurável.
-
phone(
[String? message]) → BrZod - Telefone brasileiro válido (com ou sem DDD, celular ou fixo).
-
pisPasep(
[String? message]) → BrZod - PIS/PASEP — 11 dígitos, módulo 11.
-
placa(
[String? message]) → BrZod -
Placa veicular — formato antigo (
ABC-1234) e Mercosul (ABC1D23). -
regex(
String pattern, {String? message}) → BrZod -
Valor deve corresponder ao
patternregex fornecido. - RENAVAM — 9 ou 11 dígitos, módulo 11.
-
required(
[String? message]) → BrZod -
Campo obrigatório — rejeita
nulle string vazia. -
rg(
[String? message]) → BrZod - RG — formato mais comum (aceita com ou sem pontuação e dígito X).
-
tituloEleitor(
[String? message]) → BrZod - Título de Eleitor — 12 dígitos, dois DVs via módulo 11.
-
toString(
) → String -
A string representation of this object.
inherited
-
type<
T> ([String? message]) → BrZod -
Valor deve ser do tipo
T. -
url(
[String? message]) → BrZod -
URL válida com esquema
http,httpsouftp. -
uuid(
{String version = 'all', String? message}) → BrZod -
UUID válido — qualquer versão por padrão. Versões:
'3','4','5','all'.
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited
Static Properties
- defaultLocale ↔ ILocaleBrZod
-
Locale padrão aplicado quando nenhum locale é passado na instância.
getter/setter pair