0

我有这样的情况:

我的表单中有一个文本框,它需要一个值来创建一个帐户。因此,每当我为文本框赋予一些值并通过按 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 方法。

4

1 回答 1

0

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

jQuery("#form").validate({
    rules : {
        Name : {
            validNameRule : true
        },   //Dont forget this comma
    onkeyup: false   //Added this line
    }
});
于 2013-10-30T12:20:50.627 回答