20

一点上下文:

我正在使用jQuery Validation 插件来验证注册表单。我现在想实现一个ajax 调用来检查用户名在系统中是否可用,并且我只想在 userName 值是根据设置的规则有效的情况下进行这个 ajax 调用$(form).validate();

我想要类似的东西:

$("#userName").keyup(function () {
    if ($("#userName").isValid()) {
        //make ajax called
    }
});

我搜索了文档,但我无法确定我的问题的解决方案。

4

4 回答 4

43
$("#userName").keyup(function () {
    if ($("#userName").valid() == true ) {
        //make ajax called
    }
});

http://docs.jquery.com/Plugins/Validation/valid

注意:给那些没有点击链接的人。你必须先打电话$("#myform").validate();

于 2011-04-25T13:50:45.070 回答
8

验证器.element()

说明:验证单个元素,如果有效则返回 true,否则返回 false。

http://jqueryvalidation.org/Validator.element

于 2015-10-28T10:33:09.030 回答
2

这在 JQuery 1.11 上对我有用

$("#userName").keyup(function () {
    if ($(this)[0].validity.valid) {
        // AJAX here
    }
});
于 2019-06-06T18:45:59.807 回答
0

您好,我找到了独家解决方案,我和其他 47k 人有同样的问题,我发现没有其他 jquery 插件或库的解决方案:-首先我们需要在变量中注册我们的输入,-然后更改 checkValidity() 如果为真:意思是如果有效,我们将注册的 var 分配给我们的输入以将其休息以进行下一次更改。

        ivar=$('input[name="y-i-name"]')[0];
        $('input[name="y-i-name"]').on('change',function(){
             if($('input[name="y-i-name"]')[0].checkValidity()){


                     // your custom code here!



                     $('input[name="y-i-name"]')[0]=ivar; // & now we rest the input for next change validation
             }
        });
于 2019-10-01T16:32:36.633 回答