FluentValidation — validation library.
Validator:
1public class UserValidator : AbstractValidator<User>2{3 public UserValidator()4 {5 RuleFor(x => x.Name)6 .NotEmpty()7 .MaximumLength(50);89 RuleFor(x => x.Email)10 .NotEmpty()11 .EmailAddress();1213 RuleFor(x => x.Age)14 .InclusiveBetween(18, 120);15 }16}
Usage:
1var validator = new UserValidator();2var result = validator.Validate(user);3if (!result.IsValid)4{5 return Results.ValidationProblem(result.ToDictionary());6}
Key: FluentValidation for rules.