How to check Minlength and Maxlength validation of a property in C# using Fluent Validation?


MaxLength Validator

Ensures that the length of a particular string property is no longer than the specified value.

Only valid on string properties

String format args:

{PropertyName} = The name of the property being validated

{MaxLength} = Maximum length

{TotalLength} = Number of characters entered

{PropertyValue} = The current value of the property

MinLength Validator

Ensures that the length of a particular string property is longer than the specified value.

Only valid on string properties

{PropertyName} = The name of the property being validated

{MinLength} = Minimum length

{TotalLength} = Number of characters entered

{PropertyValue} = The current value of the property

Example

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

Output

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

Updated on: 25-Nov-2020

2K+ Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements