天天看點

asp.net mvc3 資料驗證(二)——錯誤資訊的自定義及其本地化

  

一、自定義錯誤資訊

        在上一篇文章中所做的驗證,在界面上提示的資訊都是系統自帶的,有些讀起來比較生硬。比如:

asp.net mvc3 資料驗證(二)——錯誤資訊的自定義及其本地化

asp.net mvc3 資料驗證(二)——錯誤資訊的自定義及其本地化

        如果你的環境是英文的,那麼你的提示資訊就是中英文夾雜的了。

        在這種情況下就需要用到自定義錯誤資訊了。其實很簡單,就是在model的驗證特性中加上[ErrorMessage]。比如:

Model:

驗證結果:

asp.net mvc3 資料驗證(二)——錯誤資訊的自定義及其本地化

        ErrorMessage允許開發者使用{0}占位符來顯示字段的顯示名(即[Display(Name = "使用者名")]),如果沒有Display特性,那麼會顯示屬性名。如:

asp.net mvc3 資料驗證(二)——錯誤資訊的自定義及其本地化

若為:

則驗證結果為:

asp.net mvc3 資料驗證(二)——錯誤資訊的自定義及其本地化

        如果驗證的特性中還有其他參數,那麼ErrorMessage可以用占位符直接顯示其他參數,如

asp.net mvc3 資料驗證(二)——錯誤資訊的自定義及其本地化

二、錯誤資訊的本地化

        如果你做的項目是要分發到不同的國家,那麼就需要做本地化。而對于錯誤資訊而言,也有這樣的功能,方法如下:

        1、在項目中添加兩個資源檔案ErrorMessages.resx以及ErrorMessages.en-US.resx:

asp.net mvc3 資料驗證(二)——錯誤資訊的自定義及其本地化

        2、在兩個資源檔案中都加入名稱為UserNameRequire的資源,值分别為中英文下的提示資訊:

asp.net mvc3 資料驗證(二)——錯誤資訊的自定義及其本地化
asp.net mvc3 資料驗證(二)——錯誤資訊的自定義及其本地化

        3、在web.config的<system.web>節點加入<globalization uiCulture="auto"/>,随着浏覽器的設定來更換資源檔案。

        4、在Model中也如如下代碼:

        5、運作結果:

中文環境下:

asp.net mvc3 資料驗證(二)——錯誤資訊的自定義及其本地化

英文環境下:

asp.net mvc3 資料驗證(二)——錯誤資訊的自定義及其本地化

        好了,mvc3中錯誤資訊的自定義和本地化比較簡單,暫時總結這麼多,下一篇就要講自定義資料驗證了。

繼續閱讀