我正在开发一个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注释,但无济于事: - (
答案 0 :(得分:1)
您可以使用模型的数据注释创建自己的验证消息。如果要支持多种语言,可以为每种语言创建资源文件,并从数据注释链接到资源文件中的消息ID。