如果存在validation错误,则触发事件?

我需要为表单validation失败的任何情况添加句柄。

我已经读过这个 ,这解释了我必须添加一个处理程序,如下所示:

$('form').bind('invalid-form.validate', function () { console.log('form is invalid!'); }); 

但是,当我尝试提交表单时,此事件才会触发。

我需要处理一个事件,该事件在表单经过后validation时被触发(即元素失去焦点等)。

我想要实现的是,我有一个大型(~50个字段),并且它在Bootstrap选项卡中分割。
我想,当有任何新的validation失败或成功时,在包含无效/有效元素的选项卡的选项卡标题中设置或清除错误类。 PS我的问题不在于如何在选项卡中设置这些类。 我只想知道要处理哪些事件,以便在整个表单中的每个validation状态更改时得到通知。

我需要在表单validation失败的任何情况下添加处理程序。

 $('input, textarea, select').on('focusout keyup', function() { if ($('form').valid()) { // do something } }); 

我想,当有任何validation错误时,在包含无效元素的选项卡标题中设置错误类。

嗯,这与你最初提出的问题有点不同。 (忽略我答案的前半部分。)

使用highlightunhighlight选项以及jQuery DOM遍历来设置和取消设置您希望的DOM中的任何类。 当某些东西无效时highlight ,当它变为有效时,则highlight 。 以此答案为例。

使用.setDefaults()方法设置这些选项,因为您使用的是unobtrusive-validation插件,并且无法直接访问.validate()方法。