【问题标题】:Asp.net MVC 4 Jquery validator not hitting InvalidHandlerAsp.net MVC 4 Jquery 验证器未命中 InvalidHandler
【发布时间】:2016-06-19 17:46:26
【问题描述】:

我正在努力解决这个问题...... 我已经覆盖了我的母版页以更改无效的 hightlight 和 Unhightlight 类并修改 InvalidHandler,如下所示:

<script type="text/javascript">

    $.validator.setDefaults({
        ignore: [],
        invalidHandler: function (event, validator) {
            $(".tab-content").find("div.tab-pane:hidden:has(div.has-error)").each(function (index, tab) {
                var id = $(tab).attr("id");
                alert(id);
                $('a[href="#' + id + '"]').tab('show');
            });
        },
        highlight: function (element, errorClass, validClass) {
            if (element.type === 'radio') {
                this.findByName(element.name).addClass("bad").removeClass("good");
            } else {
                $(element).addClass("bad").removeClass("good");
                $(element).closest('.form-group').removeClass('good').addClass('bad');
            }
        },
        unhighlight: function (element, errorClass, validClass) {
            if (element.type === 'radio') {
                this.findByName(element.name).removeClass("bad").addClass("good");
            } else {
                $(element).removeClass("bad").addClass(validClass);
                $(element).closest('.form-group').removeClass('bad').addClass('good');
            }
        }
    });

Hightlight 和 Unhightlight 已被击中,但 InvalidHandler 没有... 有人可以帮助我吗? 提前致谢!

【问题讨论】:

    标签: jquery asp.net-mvc-4 customvalidator


    【解决方案1】:

    如果您使用 jQuery Unobtrusive Validation,它不一定尊重默认值,我也无法让 invalidHandler 工作。

    您可以订阅引发的事件:

    `$('form').on('invalid-form', function (...) { });`
    

    或者我还在jQuery unobtrusive source 中发现他们尝试从jQuery.validator.unobstrusive.options 中提取选项,因此您可以这样做:

    jQuery.validator.unobtrusive.options = 
    jQuery.validator.unobtrusive.options || {};
    jQuery.validator.unobtrusive.options.invalidHandler = function (...) { };
    

    不管怎样,对我来说,我被调用了两次,这也很痛苦。

    【讨论】:

      猜你喜欢
      • 2020-02-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-19
      • 1970-01-01
      相关资源
      最近更新 更多