發表文章

目前顯示的是有「Globalize」標籤的文章

[多國語系]-前端驗證測試記錄-後續作法

圖片
針對 前篇測試 ,在參考相關的文章有提到: Culture 屬性: 負責判定與文化特性相關功能的結果 (例如: 日期、數字和貨幣格式等)。 UICulture 屬性: 負責覺得要為網頁載入哪一國的資源檔。 根據以上的特性,程式調整如下: 1.南非語系維持en-ZA不變 針對英文語系的處理,在設定CurrentCulture時,設定成en,而設定CurrentUICulture則依使用者設定的語系,如下程式判斷en-開頭則取en來使用。 void MvcApplication_BeginRequest(object sender, EventArgs e) { if (CurrentCultureName.StartsWith("en-")) System.Threading.Thread.CurrentThread.CurrentCulture = new CultureInfo("en"); else System.Threading.Thread.CurrentThread.CurrentCulture = new CultureInfo(CurrentCultureName); System.Threading.Thread.CurrentThread.CurrentUICulture = new CultureInfo(CurrentCultureName); }

[多國語系] MVC ViewModel自動載入語系資源-驗證訊息

圖片
    繼前一篇 [多國語系] MVC ViewModel自動載入語系資源 ,此篇要講的是把一些常用的驗證自動加上語系,例:Required、Range...等。在基本的情況下我們在Property冠上Required,只要使用者未填值下按下Submit就會出現內建的錯誤訊息,如下: 中文 英文 而要加上自訂的語系的話則需要再指定 ErrorMessageResourceName 及 ErrorMessageResourceType 改善目標 不要設定語系名稱及語系型別 自動為驗證Property跟資源檔作結合

[多國語系] MVC ViewModel自動載入語系資源

圖片
      一般而言我們Mode的屬性若沒冠上[Display]的話,View會以該Property的名稱來顯示,而加上Display後,若需要加上語系的話,除了設定Name還要再多設定ResourceType,如下: DRY原則     上方的程式碼整個看起來就是令人眼花瞭亂,每個Property要冠上Display及設定ResourceType,且差異的部份只Name的指定,程式碼重複的部分一大堆...。根據DIY的原則....不不不..是DRY的原則,不要一直重覆你自已,我們需要 更乾淨的作法 。 改善目標 為了保持較乾淨的類別及加速日後的開發與維護,列出以下幾點需求: 不要設定語系名稱及語系型別 每個屬性不要冠上[Display] 自動為Model的Property跟資源檔作結合

[多國語系]-前端驗證測試記錄

圖片
測試目的    讓前端通過多國語系的數值與日期驗證,參考 文章1 、 文章2 後,另作一個測試記錄,ps :結果預告:失敗 1.Nuget加入套件 : jQuery.Validation.Globalize 2.撰寫一個共用方法取得目前的語系名稱 3.引用相關Script ps:需照順序 紅框處 為以語系加入 對應 的js 4.設定前端global的文化為目前的語系 上述步驟完成後,開始測試相關案例,以 中文、英文 及 南非 三個為語系選項 1.日期-格式化- d :為會依據不同的語系呈現yyyy/MMM/dd or dd/MM/yyyy 測試結果—>OK 2.日期-格式化-yyyy-MM-dd:此為配合html5的日期格式 測試結果—> Fail 原因:yyyy-MM-dd格式無法通過多國語系的驗證 解決方法:擴充date驗證方法,使用統一格式yyyy-MM-dd的方式驗證

多國語系-MVC Client端的數值驗證訊息文字

圖片
  繼前一篇 多國語言-MVC Client端的數值驗證 ,此篇是關於預設的數值錯誤訊息預設.netFramework裝完後會有系統預設的語系訊息,以我裝的是繁體中文為例,如下圖我故意將 數字欄位輸入英 文 ,會出現中文的錯誤訊息 ps:這不是Require的錯誤訊息,我一開始誤以為是.. 而其他國家的語系就會全部顯示 英文訊息 ps:因找不到.net語系檔預設全用英文

多國語系-MVC Client端的數值驗證

圖片
前言 在MVC的若要驗證數值一般來說只要在web.cofng 上加入 <add key= "UnobtrusiveJavaScriptEnabled" value = " true " /> 就可以使Unobtrusive驗證Client端的int、double、deciaml等數值

多國語系-日期格式化測試

圖片
針對日期格式在顯示及輸入的一些測試 簡短日期-顯示 1.格式化參數:"d” 2.說明:由Client端的OS顯示格式yyyy/MM/dd or MM-dd-YYYY..等