要為特定屬性指定驗證規則,請呼叫RuleFor方法,傳遞一個表示要驗證的屬性的lambda表達式
要執行驗證器,請實例化驗證器物件並呼叫Validate方法,將要驗證的物件傳遞給它。
Validate方法傳回一個ValidationResult物件。它包含兩個屬性
IsValid - 一個布林值,表示驗證是否成功。
Errors - 包含任何驗證失敗的詳細資訊的ValidationFailure物件集合
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
以上是如果出生日期超過目前年份,如何使用 C# 中的流暢驗證來驗證出生日期?的詳細內容。更多資訊請關注PHP中文網其他相關文章!