我有一个完全本地化的网站,主要是法语/英语/德语。
目前,一切都很好,但我确实注意到一些 asp.net MVC 的错误消息存在问题。
我的模型中有一个属性:
[Required]
[LocalizedDisplayName("PublicationDate", NameResourceType = typeof(LocalizationResources.Views.Composer.BaseInfoForm))]
public DateTime PublicationDate { get; set; }
LocalizedDisplayname 是 DisplayNameAttribute 的扩展,它进入 Resx 文件以获得正确的翻译
线程 CurrentCulture 和 CurrentCultureUI 在 fr-FR 中,因此消息应该以法语显示(就像我的[Required]
属性一样,自动显示“Le champ Publication est requis”。
但是在 DateTime 的情况下,如果我输入的不是日期,验证器只会返回一个“ The value 'asdfasdf' is not valid for Publication.
”所以:
- 为什么 MVC 有时会以相同的形式返回法语错误消息,有时会以英语返回错误消息(我准确地说,这是默认错误消息)
- 如何一般地替换此消息,通过指示类似“La valeur {0} n'est pas une date valide pour le champ {1}”的文本
非常感谢