本地化MVC 3客户端验证消息

时间:2011-06-30 14:38:44

标签: jquery asp.net-mvc-3 localization

我正在开发一个ASP.Net MVC 3项目,该项目需要来自其验证规则的本地化错误消息。

有没有办法做这个客户端?

我可以使用英语服务器端验证消息,因为客户端应始终被触发(我不担心我的用户将禁用javascript,因为它是一个Intranet站点)

虽然我可以将DataAnnotations用于诸如[Required]和[StringLength]之类的东西,但是没有这样的选项(似乎)用于数据类型验证。

例如,如果我在视图模型中有int部分,它会自动验证输入以确保它是一个int。很公平,但验证信息总是英文: - (

假设我的模型如下:

public class RecipeModel
{

[Display(Name = "Navn")]
[Required(ErrorMessage = "Skal udfyldes")]
public string Name { get; set; }

[Display(Name = "Portioner")]
public int Portions { get; set; }

}

正如您所看到的,我对“Name”有一个自定义错误消息,但是如果我尝试在EditorFor(Portions)中输入文本,它将显示我的错误消息:

“字段分区必须是数字。”

这就是我想要本地化的错误消息。不幸的是,内置验证器没有DataAnnotation(检查它是否为int)。

我甚至尝试使用Custom类型的DataType注释,但无济于事: - (

1 个答案:

答案 0 :(得分:1)

您可以使用模型的数据注释创建自己的验证消息。如果要支持多种语言,可以为每种语言创建资源文件,并从数据注释链接到资源文件中的消息ID。