FluentValidation.AspNetCore-验证规则库

一、FluentValidation

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
  }
}

二、Jaeger

https://www.jaegertracing.io/

Jaeger: open source, end-to-end distributed tracing
Monitor and troubleshoot transactions in complex distributed systems

原文地址:https://www.cnblogs.com/htlp/p/15353439.html