2017-07-05 3 views
1

質問:どのようにMVCで実行されているドイツの日付のunobtrusiv検証を取得しますか?MVC 5 - 検証ドイツの日付unobtrusiv jsと - 簡単なアプローチ

ドイツ語の日付を検証するためにMVC 5でglobalize 1.xを使用するという実例を見つけることができないため、実行するのに2日が必要でした。

問題は、jsファイルの順序、cldr-dataの取得、再利用可能な方法でのまとめです。

答えで私は私の現在の解決策を示します。

答えて

1

このzipファイル(https://www.dropbox.com/sh/75dx6alck7itwia/AABFkcgOQVc1bUXFE_jYfR_da?dl=0)には、必要なファイルがすべてあります。サブディレクトリ内の

それは短いtodo.txt(デ及びエン)

  • が含ま
  • CLDRデータ(jsons)
  • カスタムHTMLヘルパークラスのウィッヒが必要な書き込みを行いますHTML/js-ビューへのスクリプト。

ヘルパーによるレンダリングが必ずしも機能しないようです。したがって、問題がある場合は、コードをすべての(編集/新規)ビューにコピーしてください。

<script src="~/Scripts/jquery.validate.js"></script> 
<script src="~/Scripts/jquery.validate.unobtrusive.js"></script> 

<script src="~/Scripts/cldr.js"></script> 
<script src="~/Scripts/cldr/event.js"></script> 
<script src="~/Scripts/cldr/supplemental.js"></script> 
<script src="~/Scripts/cldr/unresolved.js"></script> 

<script src="~/Scripts/globalize.js"></script> 
<script src="~/Scripts/globalize/currency.js"></script> 
<script src="~/Scripts/globalize/number.js"></script> 
<script src="~/Scripts/globalize/date.js"></script> 
<script src="~/Scripts/globalize/plural.js"></script> 
<script src="~/Scripts/globalize/relative-time.js"></script> 
<script src="~/Scripts/globalize/unit.js"></script> 
<script src="~/Scripts/jquery.validate.globalize.js"></script>   

<script> 
    $(document).ready(function() { 
     // Use $.getJSON instead of $.get if your server is not configured to return the 
     // right MIME type for .json files. 
     $.when(
      $.get("/Scripts/cldr/main/de/ca-gregorian.json"), 
      $.get("/Scripts/cldr/main/de/numbers.json"), 
      $.get("/Scripts/cldr/supplemental/likelySubtags.json"), 
      $.get("/Scripts/cldr/supplemental/timeData.json"), 
      $.get("/Scripts/cldr/supplemental/weekData.json") 
     ).then(function() { 
      // Normalize $.get results, we only need the JSON, not the request statuses. 
      return [].slice.apply(arguments, [0]).map(function (result) { 
       return result[0]; 
      }); 
     }).then(Globalize.load) 
    .then(function() { 
     Globalize.locale("de-DE"); 
    }); 
    }); 
</script> 

私はそれが役に立ちそうです。

MVC 5 - can not get globalisation runningへの回答に基づくこの解決策。 ビュンドルを使用する場合は、MVC 5, globalize, validate german date: How to bundle the js-scripts?

を参照してください。