如何使用 Fluent Validation 在 C# 中检查属性的 Minlength 和 Maxlength 验证?


MaxLength 验证器

确保特定字符串属性的长度不超过指定值。

仅适用于字符串属性

字符串格式参数

{PropertyName} = 正在验证的属性的名称

{MaxLength} = 最大长度

{TotalLength} = 输入的字符数

{PropertyValue} = 属性的当前值

MinLength 验证器

确保特定字符串属性的长度大于指定值。

仅适用于字符串属性

{PropertyName} = 正在验证的属性的名称

{MinLength} = 最小长度

{TotalLength} = 输入的字符数

{PropertyValue} = 属性的当前值

示例

static void Main(string[] args){
   List errors = new List();

   PersonModel person = new PersonModel();
   person.FirstName = "TestUser444";
   person.LastName = "TTT";

   PersonValidator validator = new PersonValidator();
   ValidationResult results = validator.Validate(person);

   if (results.IsValid == false){
      foreach (ValidationFailure failure in results.Errors){
         errors.Add(failure.ErrorMessage);
      }
   }

   foreach (var item in errors){
      Console.WriteLine(item);
   }
   Console.ReadLine();
   }
}
public class PersonModel{
   public string FirstName { get; set; }
   public string LastName { get; set; }
}
public class PersonValidator : AbstractValidator{
   public PersonValidator(){
      RuleFor(p => p.FirstName).MaximumLength(7).WithMessage("MaximumLength must be 7 {PropertyName}") ;
      RuleFor(p => p.LastName).MinimumLength(5).WithMessage("MinimumLength must be 5 {PropertyName}");
   }
}

输出

MaximumLength must be 7 First Name
MinimumLength must be 5 Last Name

更新于:2020-11-25

2K+ 浏览量

开启你的 职业生涯

通过完成课程获得认证

开始使用
广告