在ASP.NET MVC4中使用两个属性进行模型验证

时间:2015-05-24 15:37:35

标签: asp.net asp.net-mvc-4

我需要添加模型验证,在这种情况下专门添加到模型中的电子邮件属性。我已经添加了带有错误消息的必需属性,但我还需要验证输入是否为电子邮件:

        [Required(ErrorMessageResourceType = typeof(Foodbrain.Globalization.Resources), ErrorMessageResourceName="EnterEmail")]
    [EmailAddress(ErrorMessageResourceType = typeof(Foodbrain.Globalization.Resources), ErrorMessageResourceName = "EmailInvalid")]
    public string Email { get; set; }

我收到错误:

Antingen ErrorMessageString eller ErrorMessageResourceName måste anges, men inte både.

这意味着我需要指定其中一个,但不能同时指定两个。

这可能吗?

由于

1 个答案:

答案 0 :(得分:1)

尝试为这两个属性添加ErrorMessage = null的明确定义,例如:

[Required(ErrorMessageResourceType = typeof(Foodbrain.Globalization.Resources), ErrorMessageResourceName="EnterEmail", ErrorMessage = null)]
[EmailAddress(ErrorMessageResourceType = typeof(Foodbrain.Globalization.Resources), ErrorMessageResourceName = "EmailInvalid", ErrorMessage = null)]
public string Email { get; set; }

顺便说一下,我很确定您看到的错误不是由于使用了两个单独的验证属性,而是一个需要明确设置ErrorMessage = null的.NET'错误'。该消息具有误导性。