在使用不显眼的验证插件时,如何在keyup和focusout上禁用1个特定html元素的jquery验证?

Twe*_*eZz 8 javascript jquery javascript-events jquery-validate unobtrusive-validation

默认情况下,jQuery验证插件的安装进行验证处理focusin,focusoutkeyup事件.

我们的一个验证是发出一个(同步)请求来检索一些数据.我希望仅在提交表单时触发验证,而不是在用户键入时触发.

我知道这可以针对整个表单进行修改,但这不是我想要的.

有没有办法动态禁用1个元素的键盘验证?

更新1:
我忘了提到我正在使用不引人注目的验证.所以我认为@Mario Johnathan的答案不是一个选择.

更新2:我尝试了以下内容($ element是我想要更改验证行为的元素):

  1. $element.validate({focusout: false, keyup: false});
  2. $element.keyup(function() { return false; });
  3. $element.off('keyup');
  4. $element.unbind('keyup');

Min*_*ink 5

我自己也是在同一个场景中.下面是我用它的代码.

    $.validator.setDefaults({
      onkeyup: function () {
        var originalKeyUp = $.validator.defaults.onkeyup;
        var customKeyUp =  function (element, event) {
          if ($("#your_element")[0] === element) {
            return false;
          }
          else {
            return originalKeyUp.call(this, element, event);
          }
        }

        return customKeyUp;
      }()
  });
Run Code Online (Sandbox Code Playgroud)

这里我所做的是处理该元素的keyup事件,以便验证器不做任何事情.为了休息所有元素,验证器将开始行动.但这里的问题是,特定元素根本不会对keyup进行验证.