1
私は子を検証する必要がある状況がありますが、存在する場合のみです。基本的に、ユーザーは銀行口座またはクレジットカードのいずれかを入力することができ、入力したものの有効性を確認したいだけです。ここでASP.NET MVC 3複合型検証
は、モデルは以下のとおりです。
public class AccountViewModel
{
[Required]
public bool isBankAccount { get; set; }
[RequiredIf("isBankAccount")]
public BankAccount BankAccount { get; set; }
[RequiredIf("isBankAccount",
IfNot = true)]
public CreditCard CreditCard { get; set; }
}
public class CreditCard
{
[Required]
[CreditCard]
public string CreditCardNumber { get; set; }
[Required]
[Range(1, 12)]
public int? ExpiryMonth { get; set; }
[Required]
[Range(2000, 3000)]
public int? ExpiryYear { get; set; }
[Required]
public string CardHolderName { get; set; }
}
public class BankAccount
{
[Required]
public string BSB { get; set; }
[Required]
[StringLength(10,
MinimumLength = 3)]
[NumbersOnly]
public string AccountNumber { get; set; }
[Required]
public string AccountHolderName { get; set; }
}
私の問題は、子どもの属性は、まだ真の検証親属性にもかかわらず、検証されていることです。親がそう言っている場合、子どもが検証するのを止める方法はありますか?
[データアノテーションでの依存プロパティの検証](http://stackoverflow.com/questions/2280539/custom-model-validation-of-dependent-properties-using-data-annotations)をご覧ください。 –