配置globalize.js以使用CLDR验证十进制数

时间:2016-01-28 12:42:37

标签: javascript cldr jquery-globalize

我需要验证塞尔维亚文化中的十进制数字(小数点分隔符是逗号而不是点)。

我正在互联网上寻找解决方案,大多数帖子建议使用globalize.js。但是我可以把它设置为适合我。

这是代码:

<script src="~/lib/jquery-validation/dist/jquery.validate.min.js"></script>
<script src="~/lib/jquery-validation-unobtrusive/jquery.validate.unobtrusive.min.js"></script>
<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/globalize/dist/globalize.js"></script>
<script src="~/lib/globalize/dist/globalize/number.js"></script>

<script>
$.when(
  $.get("/lib/cldr-data/supplemental/likelySubtags.json"),
  $.get("/lib/cldr-data/main/sr/numbers.json"),
  $.get("/lib/cldr-data/supplemental/numberingSystems.json")
).then(function () {
  return [].slice.apply(arguments, [0]).map(function (result) {
    return result[0];
  });
}).then(Globalize.load).then(function () {
  Globalize.locale("sr");
});
</script>

此代码位于我需要验证的每个页面的末尾。当然,我在HEAD标签中加载了jQuery。

当我将页面加载到浏览器中时,控制台中没有错误,但小数点分隔符仍然是一个点。

ASP.NET 5 MVC6生成的输入标记是:

  <input class="form-control input-validation-error" type="text" data-val="true" data-val-number="The field Plaćanje must be a number." data-val-required="The Plaćanje field is required." id="Payment" name="Payment" value="0,00" aria-required="true" aria-invalid="true" aria-describedby="Payment-error">

0 个答案:

没有答案