using BookHive.DTO.Book; using FastEndpoints; using FluentValidation; namespace BookHive.Validators.Books; public class GetBookDtoValidator : Validator { public GetBookDtoValidator() { RuleFor(x => x.Id) .GreaterThan(0) .WithMessage("Id is invalid"); RuleFor(x => x.Title) .NotEmpty() .WithMessage("Title is required"); RuleFor(x => x.Isbn) .NotEmpty().WithMessage("L’ISBN est obligatoire.") .Matches(@"^\d{13}$") .WithMessage("L’ISBN doit contenir exactement 13 chiffres."); RuleFor(x => x.AuthorFullName) .NotEmpty() .WithMessage("AuthorFullName is required"); } }