【发布时间】:2012-12-27 19:04:25
【问题描述】:
我正在尝试在 asp .net mvc3 中为印度构建一个应用程序。我使用 jQuery 全球化来验证印度格式的数字。
我的代码如下:
<script src="@Url.Content("~/Scripts/jquery.globalize/globalize.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.globalize/cultures/globalize.culture.hi-IN.js")" type="text/javascript"></script>
<script type="text/javascript">
$.validator.methods.number = function (value, element) {
return !isNaN(Globalize.parseFloat(value));
}
$(document).ready(function () {
Globalize.culture('hi-IN');
});
</script>
这是基于以下 SO 问题:
MVC 3 jQuery Validation/globalizing of number/decimal field
完美运行。但是,由于这段代码,有 2 个新错误:
1) 我有两个输入字段 Area 和 SuperBuiltUpArea - Area 是必填字段,SuperBuiltUpArea 不是。 jQuery 验证不允许我提交表单,因为它不接受 SuperBuiltUpArea 字段的 null(empty) 条目并抛出该字段应该是数字的错误。
编辑:此问题已通过将验证器语句替换为
来解决this.optional(element) || !isNaN(Globalize.parseFloat(value));
2) 如果我在这些字段中输入字母,jQuery 验证不会启动。但是,它不允许我提交表格。但这很令人困惑,因为表单没有显示错误但不会提交。
任何帮助将不胜感激。
谢谢
【问题讨论】:
-
好的,我已经能够通过添加 this.optional(element) || 来解决第一个问题!isNaN(Globalize.parseFloat(value));给验证者
标签: jquery jquery-validate numbers globalization