我为这个简单的问题感到抱歉,但我无法理解它。 我如何使这个jquery验证器方法全局工作。 我的布局中有这个代码:
jQuery.validator.methods.number = function (value, element) {
return this.optional(element) || !isNaN(Globalize.parseFloat(value));
};
jQuery(document).ready(function () {
jQuery(function () {
Globalize.culture("ro-RO");
});
});
但这不适用于我的部分视图,所以为了使这段代码能够工作,我必须把它放在我所有的部分视图中......
<script src="@Url.Content("~/Scripts/Common/jquery.validate.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/Common/jquery.validate.unobtrusive.js")" type="text/javascript"></script>
<script>
jQuery.validator.methods.number = function (value, element) {
return this.optional(element) || !isNaN(Globalize.parseFloat(value));
};
jQuery(document).ready(function () {
jQuery(function () {
Globalize.culture("ro-RO");
});
});
</script>
@using (Ajax.BeginForm("CreateSemifabricat_AddResourceToProduct", "Product", null,
new AjaxOptions{
HttpMethod = "POST",
InsertionMode = InsertionMode.Replace,
}, new { id = "addResToProd" }))
{
<input type="submit" value"Submit"/>
}
所以我的问题是如何让这段代码全局工作? 谢谢!
答案 0 :(得分:1)
您可以覆盖jQuery.validate.js
脚本,但会为globalize.js
添加永久依赖
找到这个:
return this.optional(element) || /^-?(?:\d+|\d{1,3}(?:,\d{3})+)?(?:\.\d+)?$/.test(value);
并替换为此:
return this.optional(element) || !isNaN(Globalize.parseFloat(value));