MaxLength Validator
নিশ্চিত করে যে একটি স্ট্রিং প্রপার্টির দৈর্ঘ্য নির্দিষ্ট মান থেকে বেশি নয়। শুধু স্ট্রিং প্রপার্টির জন্য বৈধ।
ফরম্যাট আর্গস: {PropertyName}, {MaxLength}, {TotalLength}, {PropertyValue}।
MinLength Validator
নিশ্চিত করে যে একটি স্ট্রিং প্রপার্টির দৈর্ঘ্য নির্দিষ্ট মান থেকে কম নয়। শুধু স্ট্রিং প্রপার্টির জন্য বৈধ।
ফরম্যাট আর্গস: {PropertyName}, {MinLength}, {TotalLength}, {PropertyValue}।
উদাহরণ
static void Main(string[] args)
{
List<string> errors = new List<string>();
PersonModel person = new PersonModel();
person.FirstName = "TestUser444";
person.LastName = "TTT";
PersonValidator validator = new PersonValidator();
ValidationResult results = validator.Validate(person);
if (!results.IsValid)
{
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<PersonModel>
{
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
ব্যাখ্যা: FirstName "TestUser444" (11 chars) > 7, তাই MaxLength ফেইল। LastName "TTT" (3 chars) < 5, তাই MinLength ফেইল। FluentValidation-এ RuleFor চেইন করে একাধিক রুল যোগ করা যায়।