jquery - Asp.net MVC 4 Jquery 验证器未命中 InvalidHandler

标签 jquery asp.net-mvc-4 customvalidator

我正在为这个问题苦苦挣扎...... 我已经重写了我的母版页以更改无效的 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 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 (...) { };

无论哪种方式,对我来说,我都会被调用两次,这也很痛苦。

关于jquery - Asp.net MVC 4 Jquery 验证器未命中 InvalidHandler,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37910089/

相关文章:

c# - 事件消息 : An unhandled access exception has occurred (IIS 7. 5,无法加载网站)

c# - 库文件夹封面照片使用 C#

WCF:找不到我在 web.config 中指定的自定义验证器 - customUserNamePasswordValidatorType - - 无法加载文件或程序集... - 帮助?

JavaScript - 验证函数

jQuery get() AJAX 仅返回空格

asp.net-mvc-4 - PayPal 在本地主机上工作正常,但在 aws 服务器上工作时失败

javascript - 如何遍历这个javascript对象

asp.net - 未调用下拉列表的自定义验证器(显然)

javascript - 使用 mousedown 处理程序按下左键,按下右键,同时按下左键和右键

javascript - 谷歌地图未捕获类型错误 : Cannot read property 'firstChild' of null in vue js html?