validation library
Módulo de validação por contrato — validação acumulativa de entidades de domínio.
Exporta Contract, ValidationNotifiable e ContractValidations
para construir entidades que acumulam múltiplos erros antes de decidir
se são válidas.
Importação
import 'package:all_validations_br/validation.dart';
Uso básico
class CadastroParams extends ValidationNotifiable {
CadastroParams({required String nome, required String email}) {
addNotifications(
Contract()
.hasMinLen(nome, 2, 'nome', 'Mínimo 2 caracteres')
.isEmail(email, 'email', 'E-mail inválido'),
);
}
}
final params = CadastroParams(nome: 'J', email: 'ruim');
if (params.isNotValid) {
params.notifications.forEach((n) => print(n.message));
}
Para validação de campos de formulário Flutter, prefira o módulo fluente:
import 'package:all_validations_br/br_zod.dart';