如果存在验证错误,是否触发事件?

Trigger an event if there are validation errors?

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

我已阅读 this,其中解释了我必须按如下方式添加处理程序:

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

但是这个事件只有在我尝试提交表单时才会触发。

我需要处理在表单为 post-validated 时触发的事件(即元素失去焦点等)。

我想要实现的是,我有一个大表格(~50 个字段),它被分成 Bootstrap tabs
我想,当有任何新的验证失败或成功时,在包含 invalid/valid 元素的选项卡的选项卡标题中设置或清除错误 class。 P.S。我的问题不在于如何在选项卡中设置那些 classes。我只想知道要处理什么事件,以便在整个表单中的每个验证状态更改时收到通知。

I need to add a handler to any circumstance where form validation fails.

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

I want, that when there is any validation error, set an error class in the tab title that contains the invalid elements.

嗯,这与您最初问的有点不同。 (请忽略我前半部分的回答。)

使用 highlightunhighlight 选项以及 jQuery DOM 遍历来设置和取消设置 DOM 中的任何 class希望。 highlight 无效时触发,unhighlight 有效时触发。以 为例。

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