特定の属性の検証ルールを指定するには、RuleFor メソッドを呼び出し、検証する属性を表すラムダ式を渡します。
バリデーターを実行するには、バリデーター オブジェクトをインスタンス化し、Validate メソッドを呼び出して、検証するオブジェクトを渡します。
Validate メソッドは ValidationResult オブジェクトを返します。これには、検証が成功したかどうかを示すブール値である 2 つのプロパティ
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 中国語 Web サイトの他の関連記事を参照してください。