新しいメンバーを登録するために、という名前のViewModelがありUserRegisterModel
ます。このモデルは、ユーザーから2種類のアドレスを取得します。彼HomeAddress
は必須であり、彼WorkAddress
はオプションです。アドレスを取得するには、という名前の複合型を使用しますContactEntryModel
。ContactEntryModelメンバーを[Required]
属性で装飾しました。これにより、自宅と職場の両方のアドレスが自動的に検証されます。
WorkAddressを無視または除外としてマークするソリューションを探しています。これにより、検証属性で装飾されていても、WorkAddressの子プロパティの検証を停止するように検証エンジンに指示します。
public class UserRegisterModel
{
[StringLength(50), Required]
public string FirstName { get; set; }
[StringLength(50), Required]
public string LastName { get; set; }
[StringLength(10), Required]
public string IdCardNo { get; set; }
[StringLength(100), Email]
public string Email { get; set; }
public ContactEntryModel HomeContact { get; set; } //Required
public ContactEntryModel WorkContact { get; set; } //Optional
}
public class ContactEntryModel
{
[MaxLength(4), Required]
public string TelPrefix { get; set; }
[MaxLength(10), Required]
public string Tel { get; set; }
[MaxLength(50), Required]
public string Province { get; set; }
[MaxLength(50), Required]
public string City { get; set; }
[MaxLength(300), Required]
public string AddressLine { get; set; }
[MaxLength(20)]
public string PostalCode { get; set; }
}