我试图让 Globalize.js 库在 ASP.NET MVC 5 应用程序 + 不显眼的验证下工作。具体来说,我的大多数库和要求都按照帖子https://stackoverflow.com/a/25289555/1838819工作。但是,当验证实际上启动input
标签type="text"
但包含十进制数时,我收到以下错误;
Uncaught Error: E_MISSING_BUNDLE: {"locale":"en"}
at createError (cldr.js:339)
at validate (cldr.js:355)
at Cldr.main (cldr.js:669)
at numberNumberingSystem (number.js:450)
at numberPattern (number.js:1325)
at Function.Globalize.numberParser.Globalize.numberParser (number.js:1429)
at Function.Globalize.parseNumber.Globalize.parseNumber (number.js:1474)
at a.validator.methods.number (jquery.validate.globalize.min.js:1)
at a.validator.check (jquery.validate.min.js:4)
at a.validator.checkForm (jquery.validate.min.js:4)
我正在通过加载和配置库;
$.when($.get("/Scripts/cldr/supplemental/likelySubtags.json"))
.done(function(result) {
Globalize.load(result);
Globalize.locale("en");
});
在通过以下方式尝试验证之前,它可以正常工作并且运行良好;
$.validator.unobtrusive.parse(_form);
_form.validate();
if (_form.valid()) { // ** error thrown here
_uiModalConfirmForm.modal('toggle');
}
我几乎可以肯定我错过了load
参考locale/en.json
或非常相似的东西,但发现该资源似乎几乎是不可能的。cldr 的文档(Globalize 当前用作本地化数据的主要来源)的文档……充其量是自我引用的,而且导航起来非常令人沮丧。我也找不到特定的 NuGet 包。
我可以找到的文档说应该编译资源。查看该编译器的文档链接回 Gloablize 文档,并进一步了解如何启动测试服务器、安装 Node Package Manger 或 Bower 并从那里安装。当我想要的只是一个文件时,这……似乎有点矫枉过正。我还没有走这条路,因为我希望有一种更简单、更快捷的方法来定位所需的文件。
任何有关在 Visual Studio 中实际配置此库的资源的帮助将不胜感激。