Heim > Artikel > Backend-Entwicklung > Wie validiere ich das Geburtsdatum mithilfe einer fließenden Validierung in C#, wenn das Geburtsdatum das aktuelle Jahr überschreitet?
Um eine Validierungsregel für ein bestimmtes Attribut anzugeben, rufen Sie die RuleFor-Methode auf und übergeben Sie einen Lambda-Ausdruck, der das zu validierende Attribut darstellt.
Um den Validator auszuführen, instanziieren Sie die Validierung Object und rufen Sie die Validate-Methode auf und übergeben Sie ihr das zu validierende Objekt.
Validate-Methode gibt ein ValidationResult-Objekt zurück. Es enthält zwei Eigenschaften
IsValid – einen booleschen Wert, der angibt, ob die Validierung erfolgreich war.
Errors – Sammlung von ValidationFailure-Objekten mit Details zu etwaigen Validierungsfehlern
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
Das obige ist der detaillierte Inhalt vonWie validiere ich das Geburtsdatum mithilfe einer fließenden Validierung in C#, wenn das Geburtsdatum das aktuelle Jahr überschreitet?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!