如果我使用这样的属性来装饰我的viewmodels的属性:
public class Vm { [required] [StringLength(35)] public string Name {get;set;} }
我要得到英文验证信息:
"this field is required" "The field Name must be a string with a maximum length of 35"
我怎么能翻译他们?
解决方法
您可以使用
ErrorMessageResourceName
属性:
[required(ErrorMessageResourceName = "SomeResource")] [StringLength(30,ErrorMessageResourceName = "SomeOtherResource")] public string Name { get; set; }
您可以以this blog post结帐为例。
更新:
在Application_Start中:
DefaultModelBinder.ResourceClassKey = "Messages";
在Messages.resx文件中,您需要添加自定义错误消息。使用反射器查看System.Web.Mvc和System.ComponentModel.DataAnnotations程序集,以查看要使用的键名称。