1

我的问题与以下链接中提出的先前问题非常相似,

MVC3 不显眼的验证输入组

基本上我需要验证 3 个或更多输入字段(至少需要一个)。例如,我有电子邮件、传真、地址。定义如下:

public class MyViewModel
{ 
    public string Email { get; set; }
    public string Fax { get; set; }
    public Address Address { get; set; }
}

public class Address 
{ 
    public string Street { get; set; }
    public string Suburb { get; set; }
}

我需要填写 Email、Fax 或 Address.Suburb,如果失败,我希望突出显示所有字段,而不仅仅是一个字段(这是上一个链接中的解决方案所包含的内容)。

请注意,我已经完成了所有服务器端验证,我只需要知道如何在客户端使用 MVC3 不显眼地完成此操作。

4

1 回答 1

2

您可以尝试AtLeastOneRequired在所有属性上应用该属性:

public class MyViewModel
{
    [AtLeastOneRequired("Email", "Fax", "Phone", ErrorMessage = "At least Email, Fax or Phone is required")]
    public string Email { get; set; }

    [AtLeastOneRequired("Email", "Fax", "Phone", ErrorMessage = "At least Email, Fax or Phone is required")]
    public string Fax { get; set; }

    [AtLeastOneRequired("Email", "Fax", "Phone", ErrorMessage = "At least Email, Fax or Phone is required")]
    public string Phone { get; set; }
}
于 2012-08-24T07:30:57.977 回答