C#
 Computer >> コンピューター >  >> プログラミング >> C#

今年を超える場合、C#で流暢な検証を使用してDateofBirthを検証するにはどうすればよいですか?


特定のプロパティの検証ルールを指定するには、RuleForメソッドを呼び出して、検証するプロパティを示すラムダ式を渡します

RuleFor(p => p.DateOfBirth)

バリデーターを実行するには、バリデーターオブジェクトをインスタンス化し、Validateメソッドを呼び出して、検証するオブジェクトを渡します。

ValidationResult results =validator.Validate(person);

ValidateメソッドはValidationResultオブジェクトを返します。これには2つのプロパティが含まれています

IsValid -検証が成功したかどうかを示すブール値。

エラー -検証の失敗に関する詳細を含むValidationFailureオブジェクトのコレクション

例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;
   }
}

出力

Invalid Date Of Birth

  1. JavaScriptを使用して基本的なフォーム検証を行う方法は?

    JavaScriptは、フォームのデータをWebサーバーに送信する前にクライアントのコンピューターで検証する方法を提供します。 基本的なフォーム検証には、すべての必須フィールドが入力されていることを確認するためにチェックするフォームが含まれます。フォームの各フィールドをループしてデータをチェックするだけで済みます。 例 次のコードを実行して、JavaScriptで基本的なフォーム検証を実装してみてください- <html>    <head>       <title>Form Validation<

  2. 年APIクラスを使用してAndroidで年を取得するにはどうすればよいですか?

    この例は、yearAPIクラスを使用してAndroidでyearを取得する方法について示しています。 ステップ1 − Android Studioで新しいプロジェクトを作成し、[ファイル]⇒[新しいプロジェクト]に移動して、新しいプロジェクトを作成するために必要なすべての詳細を入力します。 ステップ2 −次のコードをres / layout/activity_main.xmlに追加します。 <?xml version="1.0" encoding="utf-8"?> <android.support.constraint.Const