asp.net mvc 模型验证组件——FluentValidation
示例
1 using FluentValidation; 2 public class CustomerValidator: AbstractValidator<Customer> { 3 public CustomerValidator() { 4 RuleFor(customer => customer.Surname).NotEmpty(); 5 RuleFor(customer => customer.Forename).NotEmpty().WithMessage("Please specify a first name"); 6 RuleFor(customer => customer.Company).NotNull(); 7 RuleFor(customer => customer.Discount).NotEqual(0).When(customer => customer.HasDiscount); 8 RuleFor(customer => customer.Address).Length(20, 250); 9 RuleFor(customer => customer.Postcode).Must(BeAValidPostcode).WithMessage("Please specify a valid postcode");10 }11 private bool BeAValidPostcode(string postcode) {12 // custom postcode validating logic goes here13 }14 }15 Customer customer = new Customer();16 CustomerValidator validator = new CustomerValidator();17 ValidationResult results = validator.Validate(customer);18 bool validationSucceeded = results.IsValid;19 IList<ValidationFailure> failures = results.Errors;