我在View模型中有以下属性:
public decimal Credit { get; set; }
[EmailAddress]
public string TestEmail { get; set; }
我使用@Html.ValidationSummary()
在 Serverside 验证中收到以下2条错误消息:
第二个是使用[EmailAddress]
属性完美翻译的。然而第一个,仍然是英语。为什么呢?
我已经google了一下,但每个解决方案都在谈论自定义验证消息。我想要的是默认的验证消息,但是转换为我的文化,就像[EmailAddress]
属性一样。
我在web.config中有这个:
<system.web>
<globalization culture="de-DE" uiCulture="de-DE"/>
那么如何才能发出消息值'97,50€'对于Credit无效。被翻译成另一种语言?
我没有包含客户端验证脚本。
答案 0 :(得分:1)
在文件夹Messages.resx
中创建App_GlobalResources
。
添加以下行:
PropertyValueInvalid | Der Wert“{0}”istfürdasFeld“{1}”nicht erlaubt。
然后指向Messages.resx
Application_Start()
ClientDataTypeModelValidatorProvider.ResourceClassKey = "Messages";
DefaultModelBinder.ResourceClassKey = "Messages";
其他一些可能有帮助的人:
FieldMustBeDate | Das Feld“{0}”istkeigültigesGeatum。
FieldMustBeNumeric | Das Feld“{0}”istkeinegültigeZahl。
PropertyValueRequired | Das Feld“{0}”ist erforderlich。