我目前正試圖找出如何本地化由MVC生成的錯誤消息。讓我使用默認模型聯編程序作爲示例,以便我可以解釋問題。默認模型綁定器的MVC本地化
假設我有一個表單,用戶輸入他們的年齡。用戶然後輸入「十」的形式,而不是得到預期的錯誤
「年齡必須介於18和25之間」。
消息
「值 '十' 是無效的年齡。」
被顯示。
實體的年齡屬性定義如下:
[Range(18, 25, ErrorMessageResourceType = typeof (Errors),
ErrorMessageResourceName = "Age", ErrorMessage = "Range_ErrorMessage")]
public int Age { get; set; }
一些挖後,我發現這個錯誤文本來自System.Web.Mvc.Resources.DefaultModelBinder_ValueInvalid
在MvcResources.resx
文件。
現在,如何創建本文件的本地化版本?
作爲一種解決方案,例如,我應該下載MVC來源並添加MvcResources.en_GB.resx
,MvcResources.fr_FR.resx
,MvcResources.es_ES.resx
和MvcResources.de_DE.resx
,然後編譯我自己的MVC.dll
版本?
但我不喜歡這個想法。任何人都知道更好的方法?
有關這方面的一個很好的博客也在這裏:http://bradwilson.typepad.com/blog/2010/01/input- validation-vs-model-validation-in-aspnet-mvc.html – 2010-03-22 09:29:05