Untuk menentukan peraturan pengesahan bagi atribut tertentu, panggil kaedah RuleFor, menghantar ungkapan lambda yang mewakili atribut yang akan disahkan
Untuk menjalankan pengesahan, nyatakan pengesahan Objek dan panggil kaedah Sahkan, luluskan objek untuk disahkan.
Validation method mengembalikan objek ValidationResult. Ia mengandungi dua sifat
IsValid - nilai Boolean yang menunjukkan sama ada pengesahan berjaya.
Ralat - Koleksi objek ValidationFailure yang mengandungi butiran tentang sebarang kegagalan pengesahan
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
Atas ialah kandungan terperinci Bagaimana untuk mengesahkan tarikh lahir menggunakan pengesahan fasih dalam C# jika tarikh lahir melebihi tahun semasa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!