MVC5 の jquery globalize プラグインで MVC の目立たない検証を使用しようとしています (パッケージjquery-validate-globalizeと組み合わせて)。学習目的で、 hereに従ってデモ プロジェクトを開始しましたが、globalize で実行できません (デフォルトの Microsoft の目立たない検証で動作します)。モデルは非常に単純です。
public class GlobalizeModel
{
[Range(10.5D, 20.3D)]
public decimal Double { get; set; }
[Required]
public DateTime? DateTime { get; set; }
}
_Layout ページの下部で次のように Globalize を開始しようとします (ビューは 2 つの入力のみで最小限です): ( https://johnnyreilly.github.io/globalize-so-what-c ha から必要なファイルのリストを取得します) -したい/ )
<script src="~/Scripts/bootstrap.min.js"></script>
<script src="~/Scripts/jquery.validate.min.js"></script>
<script src="~/Scripts/jquery.validate.unobtrusive.min.js"></script>
<!--cldr scripts-->
<script src="~/Scripts/cldr.js"></script>
<script src="~/Scripts/cldr/event.js"></script>
<script src="~/Scripts/cldr/supplemental.js"></script>
<!--globalize scripts-->
<script src="~/Scripts/globalize.js"></script>
<script src="~/Scripts/globalize/number.js"></script>
<script src="~/Scripts/globalize/date.js"></script>
<!--jquery globalize-->
<script src="~/Scripts/jquery.validate.globalize.js"></script>
<script>
$.when(
$.getJSON("/Scripts/cldr/supplemental/likelySubtags.json"),
$.getJSON("/Scripts/cldr/main/en/numbers.json"),
$.getJSON("/Scripts/cldr/supplemental/numberingSystems.json"),
$.getJSON("/Scripts/cldr/main/en/ca-gregorian.json"),
$.getJSON("/Scripts/cldr/main/en/timeZoneNames.json"),
$.getJSON("/Scripts/cldr/supplemental/timeData.json"),
$.getJSON("/Scripts/cldr/supplemental/weekData.json"),
$.getJSON("/Scripts/cldr/main/tr/numbers.json"),
$.getJSON("/Scripts/cldr/main/tr/ca-gregorian.json"),
$.getJSON("/Scripts/cldr/main/tr/timeZoneNames.json"),
console.log("JSONs loaded")
).then(function () {
console.log("start slicing");
return [].slice.apply(arguments, [0]).map(function (result) {
console.log("slicing done");
return result[0];
});
}).then(Globalize.load).then(function () {
Globalize.locale("en");
console.log("Locale set to en");
}).then(console.log("LOADED EVERYTHING"));
</script>
しかし、ページを実行すると、コンソール ログJSOns loaded
とLOADED EVERYTHING
. さらに、数値テキストボックスに何かを入力してクライアント側の検証を試みると (そしてもちろんフォーカスが失われた場合)、コンソールに次のエラーが表示されます。
Uncaught Error: E_DEFAULT_LOCALE_NOT_DEFINED: Default locale has not been defined.
この投稿はこちらと似ていますが、そこにリストされているものを確認しようとしました. JSON オブジェクトがフェッチされていないと思いますが、私は aj JS が苦手なので、よくわかりません。次の項目を web.config に追加して、これがファイル サービスに関連するものであるかどうかを確認しましたが、役に立ちませんでした。
<system.webServer>
<staticContent>
<remove fileExtension=".json"/>
<mimeMap fileExtension=".json" mimeType="application/json" />
</staticContent>
</system.webServer>
カルチャは、次のように web.config で auto に設定されています。
<system.web>
<globalization culture="auto" uiCulture="auto" />
<compilation debug="true" targetFramework="4.5.2"/>
<httpRuntime targetFramework="4.5.2"/>
</system.web>
Scripts
ここでフォルダー構造を確認できます。
それで、ここで何が問題なのですか?どうすればこれを機能させることができますか?