我需要验证塞尔维亚文化中的十进制数字(小数分隔符是逗号而不是点)。
我正在网上寻找解决方案,大多数帖子建议使用 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">