FluentValidation 소개 - 강력한 형식의 유효성 검사

FluentValidation은 .NET에서 사용할 수 있는 유효성 검사 라이브러리 입니다. GitHub에서 별 6.9k의 지지를 받고 있는 유망한 라이브러리인데요, 플루언트 인터페이스와 람다 식을 이용해서 강력한 형식의 유효성 검사 규칙을 빌드합니다.

using FluentValidation;

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

var customer = new Customer();
var validator = new CustomerValidator();

// Execute the validator
ValidationResult results = validator.Validate(customer);

// Inspect any validation failures.
bool success = results.IsValid;
List<ValidationFailure> failures = results.Errors;

3개의 좋아요