一、https://fluentvalidation.net/
A popular .NET library for building strongly-typed validation rules.
用于构建强类型验证规则的流行 .NET 库。
https://github.com/FluentValidation/FluentValidation
Install-Package FluentValidation -Version 10.3.3 #For integration with ASP.NET Core, install the FluentValidation.AspNetCore package from Visual Studio:
Install-Package FluentValidation.AspNetCore -Version 10.3.3
public class CustomerValidator : AbstractValidator<Customer> { public CustomerValidator() { RuleFor(x => x.Surname).NotEmpty(); RuleFor(x => x.Forename).NotEmpty().WithMessage("Please specify a first name"); RuleFor(x => x.Discount).NotEqual(0).When(x => x.HasDiscount); RuleFor(x => x.Address).Length(20, 250); RuleFor(x => x.Postcode).Must(BeAValidPostcode).WithMessage("Please specify a valid postcode"); } private bool BeAValidPostcode(string postcode) { // custom postcode validating logic goes here } }