Asp.net mvc mvc4电子邮件验证本地化错误消息

Asp.net mvc mvc4电子邮件验证本地化错误消息,asp.net-mvc,asp.net-mvc-4,Asp.net Mvc,Asp.net Mvc 4,如果电子邮件地址格式错误,我无法本地化错误消息 我不断收到英文信息:“请输入有效的电子邮件地址” 这是我的模型: [Required(ErrorMessage = "Ihre Email-Adresse fehlt!")] [Display(Name = "Ihre Email Adresse")] [DataType(DataType.EmailAddress, ErrorMessage = "Ungültige Email-Adresse")] [Regula

如果电子邮件地址格式错误,我无法本地化错误消息

我不断收到英文信息:“请输入有效的电子邮件地址”

这是我的模型:

    [Required(ErrorMessage = "Ihre Email-Adresse fehlt!")]
    [Display(Name = "Ihre Email Adresse")]
    [DataType(DataType.EmailAddress, ErrorMessage = "Ungültige Email-Adresse")]
    [RegularExpression(@"[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,4}", ErrorMessage = "Ungültige Email-Adresse")]
    public string From { get; set; }
如果未输入地址,则显示德语消息;如果输入的地址无效,则显示英语消息

如您所见,我在DataType和RegularExpression注释中尝试了-ErrorMessage


当地址无效时,如何显示本地化的ErrorMessage?

在使用DataTypeAttribute时,MVC不会对电子邮件地址进行任何验证,因此您看到的任何错误消息都来自正则表达式或其他地方的代码

因为您有一条正则表达式失败的错误消息,所以它一定是来自其他原因。您是否对电子邮件地址使用任何第三方验证工具?因为您使用的是DataType属性,所以是否有自定义的DisplayTemplate

如果您使用的是.net 4.5(VS 2012),我建议您改用EmailAddressAttribute:

[EmailAddress(ErrorMessage = "...")]

这样,您就可以删除数据类型(EmailAddress包括数据类型功能,因为它是从DataTypeAttribute派生的)和正则表达式。

Mystere Man给出了正确的答案:

我使用的是jquery验证,所以我必须为_de包含本地化文件

<script type="text/javascript" src="jquery.validate.js"></script>
<script type="text/javascript" src="localization/messages_de.js"></script>

可在以下网址找到: