如何使用globalize.js在ASP.NET Core MVC中为客户端验证配置文化



我很难在应用程序中配置客户端验证。我希望它能够接受本地化的pt-BR输入。

我尝试使用AT At Startup配置应用程序:

var locale = "pt-BR";
RequestLocalizationOptions localizationOptions = new RequestLocalizationOptions {
    SupportedCultures   = new List<CultureInfo> { new CultureInfo(locale) },
    SupportedUICultures = new List<CultureInfo> { new CultureInfo(locale) },
    DefaultRequestCulture = new RequestCulture(locale)
};

它用于渲染货币,日期时间和服务器端的数字,但客户端验证仍期望en-US输入。

客户端使用jquery.validatejquery.validate.unobtrusive然后建议我使用globalize.js。

我由NPM npm instal globalize@1.0.0安装了全球化并添加了全球化软件包和cldr.js软件包。并将jquery.validate.globalize.js下载到项目

我在HTML

中添加了对JS文件的引用
<!-- cldr scripts (needed for globalize) -->
<script src="~/lib/cldrjs/dist/cldr.js"></script>
<script src="~/lib/cldrjs/dist/cldr/event.js"></script>
<script src="~/lib/cldrjs/dist/cldr/supplemental.js"></script>
<script src="~/lib/cldrjs/dist/cldr/unresolved.js"></script>
<!-- globalize scripts -->
<script src="~/lib/globalize/dist/globalize.js"></script>
<script src="~/lib/globalize/dist/globalize/number.js"></script>
<script src="~/lib/globalize/dist/globalize/date.js"></script>
<!-- Validation -->
<script src="~/lib/jquery.validate.globalize.js"></script>

,但是不幸的是,当我尝试将位置 Globalize.locale("pt-BR")

进行时,我会遇到此错误

e_missing_cldr:缺少所需的cldr内容 supplemental/likelySubtags

我缺少什么?

您需要使用Globalize.load加载CLDR数据。请参阅https://github.com/globalizejs/globalize/blob/master/master/doc/cldr.md

最新更新