একটি নির্দিষ্ট সম্পত্তির জন্য একটি বৈধতা নিয়ম নির্দিষ্ট করতে, RuleFor পদ্ধতিতে কল করুন, একটি ল্যাম্বডা এক্সপ্রেশন পাস করে যে সম্পত্তিটি আপনি যাচাই করতে চান তা নির্দেশ করে
RuleFor(p => p.DateOfBirth)
ভ্যালিডেটর চালানোর জন্য, ভ্যালিডেটর অবজেক্টকে ইনস্ট্যান্টিয়েট করুন এবং ভ্যালিডেট মেথড কল করুন, ভ্যালিডেট করার জন্য অবজেক্টটি পাস করুন।
ValidationResult ফলাফল =validator.Validate(person);
Validate পদ্ধতি একটি ValidationResult বস্তু প্রদান করে। এতে দুটি বৈশিষ্ট্য রয়েছে
ইজ্যালিড৷ - একটি বুলিয়ান যা বলে যে বৈধতা সফল হয়েছে কিনা৷
৷ত্রুটি - যেকোন বৈধতা ব্যর্থতা সম্পর্কে বিশদ বিবরণ ধারণকারী ValidationFailure অবজেক্টের একটি সংগ্রহ
উদাহরণ 1
static void Main(string[] args) { List errors = new List(); PersonModel person = new PersonModel(); person.FirstName = "TestUser"; person.LastName = "TestUser"; person.AccountBalance = 100; person.DateOfBirth = DateTime.Now.Date.AddYears(1); 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 decimal AccountBalance { get; set; } public DateTime DateOfBirth { get; set; } } public class PersonValidator : AbstractValidator{ public PersonValidator(){ RuleFor(p => p.DateOfBirth) .Must(BeAValidAge).WithMessage("Invalid {PropertyName}"); } protected bool BeAValidAge(DateTime date){ int currentYear = DateTime.Now.Year; int dobYear = date.Year; if (dobYear <= currentYear && dobYear > (currentYear - 120)){ return true; } return false; } }
আউটপুট
Invalid Date Of Birth