我有一個完全本地化的網站,主要是法語/英語/德語。Asp.Net MVC:一些未本地化的默認錯誤信息?
現在,一切正常,但我注意到一些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 requisis」。
但是在DateTime的情況下,如果我輸入一些東西,是不是日期,驗證只返回我一個「The value 'asdfasdf' is not valid for Publication.
」 所以:
- 爲什麼MVC返回我的法語,有時錯誤信息,有時用英文,以相同的形式(和我準確地說,這是默認的錯誤消息)
- 「倒樂冠軍{1}拉valeur {0} n'est PAS UNE日期的Valide」
謝謝如何更換此消息genericly,通過指示像文本你非常多
謝謝。由於所有可本地化的字符串都在不同的DLL中,因此我無法使用'1.'。所以我會用第二個。非常感謝你的回答! – J4N
我可能已經很快接受了答案,我把DataType屬性,正是你如何陳述的,但是當我的類型不是日期時,我仍然有舊消息 – J4N
還有其他數據類型的其他屬性。例如,我爲了顯示所需電子郵件文本字段的本地化錯誤消息: [必需的(ErrorMessageResourceType = typeof(Shared),ErrorMessageResourceName =「RequiredFieldValidationMessage」,ErrorMessage = null)]] [EmailAddress(ErrorMessageResourceType = typeof(Shared), ErrorMessageResourceName =「EmailFormatValidationMessage」,ErrorMessage = null)] public string Email {get;組; } – Clafou