jQuery验证器方法的全局设置

时间:2014-02-10 16:16:31

标签: javascript jquery asp.net-mvc-3 jquery-validate unobtrusive-validation

我为这个简单的问题感到抱歉,但我无法理解它。 我如何使这个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"/>

    }

所以我的问题是如何让这段代码全局工作? 谢谢!

1 个答案:

答案 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));