模型上的mvc4条件数据注释验证



我有一个嵌套的PersonalAddress视图模型。对于CommAddress&PermanentAddress所有属性都是必需的。

我正在使用addressDetails模型来进行通信地址&mvc4视图中的永久地址。但对于永久地址,所有属性都不是强制性的。如果是永久地址,我如何使这些必需的属性可选。

 public class AddressDetails
{
    [Required(ErrorMessage="Error Message...")]
    public string Road { get; set; }
    [Required(ErrorMessage = "Error Message...")]
    public string Sector { get; set; }
    [Required(ErrorMessage = "Error Message...")]
    public string City { get; set; }
    [Required(ErrorMessage = "Error Message...")]
    public string Country { get; set; }
}
public class PersonalAddress
{
    public AddressDetails CommAddress { get; set; }
    public AddressDetails PermanentAddress { get; set; }
}

如有任何帮助,我们将不胜感激。

这对你有意义吗?

public class AddressDetails
{
    public string Road { get; set; }
    public string Sector { get; set; }
    public string City { get; set; }
    public string Country { get; set; }
}
[MetadataType(typeof(ReqAddressDetailsMetadata))]
public class ReqAddressDetail : AddressDetails
{
    public class ReqAddressDetailsMetadata
    {
        [Required(ErrorMessage = "Error Message...")]
        public string Road { get; set; }
        [Required(ErrorMessage = "Error Message...")]
        public string Sector { get; set; }
        [Required(ErrorMessage = "Error Message...")]
        public string City { get; set; }
        [Required(ErrorMessage = "Error Message...")]
        public string Country { get; set; }
    }
}
public class PersonalAddress
{
    public ReqAddressDetail CommAddress { get; set; }
    public AddressDetails PermanentAddress { get; set; }
}

最新更新