麻烦将回调附加到不显眼的验证显示错误

时间:2013-04-24 15:53:11

标签: jquery jquery-validate unobtrusive-validation

我无法将回调附加到jquery unobtrusive validate。我想要做的是在显示字段验证错误时隐藏信息性消息。它们都占据了页面上的相同区域。我无法弄清楚如何将回调附加到show error方法。如果你调用validate我有一个有效,但是在触发字段更改之前显示错误消息。

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

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

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

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分: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/