C# 自定义验证消息,特定于语言

C# 自定义验证消息,特定于语言,c#,asp.net-mvc,C#,Asp.net Mvc,我有一个模型,看起来像这样: [LocalizedRegularExpression(@"^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$", "RedesignEmailValidationError")] public string EmailAddress { get; set; } [Compare("EmailAddress", ErrorMessage = "Emails mismatch!")] public string EmailConfirm { get;

我有一个模型,看起来像这样:

[LocalizedRegularExpression(@"^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$", "RedesignEmailValidationError")]
public string EmailAddress { get; set; }

[Compare("EmailAddress", ErrorMessage = "Emails mismatch!")]
public string EmailConfirm { get; set; }
问题是错误消息没有本地化。处理这个问题的最佳方法是什么

PS:我收到的语言特定的文本,需要在此表格上的模型;理想情况下,我想使用那里提供的文本

您需要使用和

应该是这样的:

[Compare("EmailAddress", ErrorMessageResourceName = "ConfirmEmailErrorMessage", ErrorMessageResourceType=typeof(your_resource_type)]
public string EmailConfirm { get; set; }
你需要使用和

应该是这样的:

[Compare("EmailAddress", ErrorMessageResourceName = "ConfirmEmailErrorMessage", ErrorMessageResourceType=typeof(your_resource_type)]
public string EmailConfirm { get; set; }

此外,如果您不依赖默认资源提供程序,则必须自己实现它

比如:

等等

用法:

[LocalizedCompare("EmailAddress", Context = "ResourceKey_EmailMismatch")]
[LocalizedDisplayName("ResourceKey_Email")]
public string EmailConfirm { get; set; }

此外,如果您不依赖默认资源提供程序,则必须自己实现它

比如:

等等

用法:

[LocalizedCompare("EmailAddress", Context = "ResourceKey_EmailMismatch")]
[LocalizedDisplayName("ResourceKey_Email")]
public string EmailConfirm { get; set; }