Bagaimana untuk mengesahkan tarikh lahir menggunakan pengesahan fasih dalam C# jika tarikh lahir melebihi tahun semasa?

WBOY
Lepaskan: 2023-08-30 10:09:02
ke hadapan
819 orang telah melayarinya

如果出生日期超过当前年份,如何使用 C# 中的流畅验证来验证出生日期?

Untuk menentukan peraturan pengesahan bagi atribut tertentu, panggil kaedah RuleFor, menghantar ungkapan lambda yang mewakili atribut yang akan disahkan

RuleFor(p => p.DateOfBirth)

Untuk menjalankan pengesahan, nyatakan pengesahan Objek dan panggil kaedah Sahkan, luluskan objek untuk disahkan.

Keputusan ValidationResult = validator.Validate(person);

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

Contoh 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; } }
Salin selepas log masuk

Output

Invalid Date Of Birth
Salin selepas log masuk

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!

sumber:tutorialspoint.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!