SkillAgentSearch skills...

BeanValidation4D

Inspirado no Bean Validation do Spring, BV4D fornece uma forma simples e produtiva de validar suas classes e DTOs

Install / Use

/learn @gabriellfabrega/BeanValidation4D
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

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
  • Email
  • 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

View on GitHub
GitHub Stars5
CategoryDevelopment
Updated5mo ago
Forks2

Languages

Pascal

Security Score

67/100

Audited on Oct 18, 2025

No findings