BeanValidation4D
Inspirado no Bean Validation do Spring, BV4D fornece uma forma simples e produtiva de validar suas classes e DTOs
Install / Use
/learn @gabriellfabrega/BeanValidation4DREADME
BeanValidation4D
O BeanValidation4D é uma biblioteca para validação simplificada de objetos e DTOs em Delphi, utilizando RTTI com atributes. Inspirado no Bean Validation do Spring Boot.
🚀 Recursos
✅ Validações via atributos:
- CpfCnpj
- NaoEmBranco
- Positivo
- PositivoOuZero
- TamanhoFixo,
- TamanhoMinimo
- TamanhoMaximo
✅ Extensível – crie seus próprios validadores
📌 Exemplo de Uso
Instale a biblioteca via Boss
boss install https://github.com/gabriellfabrega/BeanValidation4D
Mapeie sua classe ou DTO com os atributos
uses
BeanValidation4D.atributos.EntidadeValida,
BeanValidation4D.atributos.NaoEmBranco,
BeanValidation4D.atributos.CpfCnpj,
BeanValidation4D.atributos.PositivoOuZero,
BeanValidation4D.atributos.Positivo,
BeanValidation4D.atributos.TamanhoMinimo,
BeanValidation4D.atributos.TamanhoMaximo,
BeanValidation4D.atributos.TamanhoFixo,
BeanValidation4D.atributos.Email;
type
[EntidadeValida]
TPessoa = class
private
FNome: string;
FCpfCnpj: string;
FAltura: Extended;
FIdade: Integer;
FEmail: string;
FRg: string;
public
[NaoEmBranco]
property Nome: string read FNome write FNome;
[CpfCnpj]
property CpfCnpj: string read FCpfCnpj write FCpfCnpj;
[TamanhoFixo(9,True)]
property Rg: string read FRg write FRg;
[PositivoOuZero]
property Altura: Extended read FAltura write FAltura;
[Positivo]
property Idade: Integer read FIdade write FIdade;
[Email]
[TamanhoMinimo(10)]
[TamanhoMaximo(60)]
property Email: string read FEmail write FEmail;
end;
Quando necessário realize a validação invocando o método validador, conforme exemplo abaixo:
try
TBeanValidation4DValidador<TPessoa>.Validar(LPessoa);
except on E:EValidacaoEntidadeException do
ShowMessage('Sua tratativa aqui');
end;
Related Skills
node-connect
354.2kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
112.2kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
354.2kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
354.2kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。

