Computer >> Máy Tính >  >> Lập trình >> C#

Làm cách nào để kiểm tra xác thực Minlength và Maxlength của một thuộc tính trong C # bằng cách sử dụng Fluent Validation?

Trình xác thực độ dài tối đa

Đảm bảo rằng độ dài của một thuộc tính chuỗi cụ thể không dài hơn giá trị được chỉ định.

Chỉ hợp lệ trên các thuộc tính chuỗi

Định dạng chuỗi ký tự:

{PropertyName} =Tên của thuộc tính đang được xác thực

{MaxLength} =Chiều dài tối đa

{TotalLength} =Số ký tự đã nhập

{PropertyValue} =Giá trị hiện tại của thuộc tính

Trình xác thực độ dài tối thiểu

Đảm bảo rằng độ dài của một thuộc tính chuỗi cụ thể dài hơn giá trị được chỉ định.

Chỉ hợp lệ trên các thuộc tính chuỗi

{PropertyName} =Tên của thuộc tính đang được xác thực

{MinLength} =Độ dài tối thiểu

{TotalLength} =Số ký tự đã nhập

{PropertyValue} =Giá trị hiện tại của thuộc tính

Ví dụ

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}");
   }
}

Đầu ra

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