想在JQuery Validation中调用规则块内的函数onblur

时间:2013-10-30 11:10:45

标签: javascript jquery validation

我有这样的情况:

我的表单中有一个文本框,它带有一个值来创建一个帐户。所以每当我给文本框赋予一些价值并通过按TAB移出它时,它会通过REST调用验证该字段的现有值。

现在说如果该值已经存在,则会抛出错误。现在,如果我回到相同的文本框并开始键入,验证器将为键盘的每个笔划发送其余调用。但我的目的是仅在我开箱即用时发送休息电话(onBlur,onFocusout)。

有人可以指出如何实现这一目标。

jQuery("#form").validate({
    rules : {
        Name : {
            validNameRule : true
        }
    }
});

jQuery.validator.addMethod("validNameRule", function(value, element) {
    return jQuery.ajax({
           //contains the rest call to check if the name already exists
      });
},"");

因此,首次验证触发后,每个键盘笔划都会调用此validNameRule方法。

1 个答案:

答案 0 :(得分:0)

您可以通过将属性onkeyup添加到false来阻止在每次按键时发送REST呼叫。但是onfocusout仍会执行验证并在文本框外单击时发送REST调用。

jQuery("#form").validate({
    rules : {
        Name : {
            validNameRule : true
        },   //Dont forget this comma
    onkeyup: false   //Added this line
    }
});