2

我无法将回调附加到 jquery 不显眼的验证。我想要做的是在任何时候显示字段验证错误时隐藏一条信息性消息。它们都占据页面上的相同区域。我不知道如何将回调附加到显示错误方法。如果您调用 validate,我有一个可以工作,但是在触发字段的更改之前会显示错误消息。

这是一个演示我的问题的jsfiddle。http://jsfiddle.net/K6NcF/4/

这是仅在调用 validate() 时运行的回调。

$('#theForm').bind('invalid-form.validate',function(){
    $('.info-box').hide();
});

任何帮助,将不胜感激。

4

1 回答 1

1

像这样使用不显眼时,您可以访问突出显示和取消突出显示回调

// grab a reference to the validator instance
var v = $('form').validate();

// reference the settings property, and the highlight function
var originalHighlight = v.settings.highlight;

你可以用你的东西覆盖它,或者下面的例子展示了一种添加你自己的功能而不覆盖那里的方法。

var v = $('#theForm').validate();

var originalHighlight = v.settings.highlight;
var originalUnHighlight = v.settings.unhighlight;

v.settings.highlight = function(element, errorClass, validClass)
{
  console.log('doing my stuff here');
  $('.info-box').hide();
  originalHighlight.call(v, element, errorClass, validClass);
}

v.settings.unhighlight = function(element, errorClass, validClass)
{
  console.log('undoing my stuff here');
  $('.info-box').show();
  originalUnHighlight.call(v, element, errorClass, validClass);
}

在这里摆弄http://jsfiddle.net/K6NcF/8/

于 2013-04-26T16:26:00.453 回答