web-dev-qa-db-ja.com

RequiredIfMVC4の2つの変数の条件付き検証

次のモデルクラスがあります

 public bool Saturday{ get; set; }

 public bool Sunday{ get; set; }

 public string Holiday{ get; set; }

土曜日と日曜日の両方のフィールドを使用して、HolidayフィールドにRequiredIf条件を使用します。次のように使用できますか

   [RequiredIf("Sunday,Saturday",false)]
   public string Holiday{ get; set; }

モデルクラスでRequiredIf条件を使用する方法がわからないので、誰か助けてください

9
Md Aslam

たぶんあなたのモデルでこれを試してみてください:

[Required]
public bool Saturday{ get; set; }

[Required]
public bool Sunday{ get; set; }

[NotMapped]
public bool SatSun
{
    get
    {
        return (!this.Saturday && !this.Sunday);
    }
}

[RequiredIf("SatSun",true)]
public string Holiday{ get; set; }
13
Chico Ribeiro

私のプロジェクトにはRequiredIfが含まれています。

[Required]
public int SalesID { get; set; }

[RequiredIf("SalesID==1", ErrorMessage = "License is required.")]
public string License{ get; set; }

「ライセンスが必要です」というエラーメッセージが表示されます。 SalesIDが1の場合にのみライセンスを空白のままにした場合SalesIDが1の場合にライセンスを空白にすることはできません。

あなたのコードの場合、それは次のようなものでなければなりません

[RequiredIf("Sunday,Saturday",AllowEmptyStrings=false)]
public string Holiday{ get; set; }

これは、日曜日と土曜日が真の場合、Holidayプロパティを空の文字列にすることができることを意味します。

0
Sukanya