Использование Jquery Globalize с MVC 5

Я пытаюсь использовать ненавязчивую проверку MVC с плагином jquery globalize в MVC5 (в сочетании с пакетомJQuery-Validate-Globalize). В целях обучения я запустил демонстрационный проект согласноВот, но он не запускается с глобализацией (он работает по умолчанию ненавязчивой проверки Microsoft). Модель очень проста:

public class GlobalizeModel
{
    [Range(10.5D, 20.3D)]
    public decimal Double { get; set; }

    [Required]
    public DateTime? DateTime { get; set; }
}

Я пытаюсь инициировать Globalize следующим образом внизу страницы _Layout (представление минимально только с 2 входами): (Я получаю список необходимых файлов изhttps://johnnyreilly.github.io/globalize-so-what-cha-want/)

<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 не извлекаются, но я не очень хорош в JS, поэтому я не уверен в этом. Я добавил следующие элементы в web.config, чтобы посмотреть, связано ли это с обслуживанием файлов, но безрезультатно:

<system.webServer>
 <staticContent>
  <remove fileExtension=".json"/>
  <mimeMap fileExtension=".json" mimeType="application/json" />
 </staticContent>
</system.webServer> 

Культура установлена ​​в auto в web.config следующим образом:

<system.web>
  <globalization culture="auto" uiCulture="auto" />
  <compilation debug="true" targetFramework="4.5.2"/>
  <httpRuntime targetFramework="4.5.2"/>
</system.web>

Ты можешь видетьScripts структура папок здесь:

Итак, в чем здесь проблема? Как я могу заставить эту вещь работать?

Ответы на вопрос(1)

Ваш ответ на вопрос