一点背景:
我正在使用 jQuery Validation插件来验证注册表单。我现在想在系统中实现一个 ajax调用以检查用户名是否可用,并且只有当userName值是根据规则中设置的有效值时才想进行此ajax调用。 $(form).validate();
我想要类似的东西:
$("#userName").keyup(function () {
if ($("#userName").isValid()) {
//make ajax called
}
});
我搜索了文档但我找不到解决问题的方法。
答案 0 :(得分:31)
$("#userName").keyup(function () {
if ($("#userName").valid() == true ) {
//make ajax called
}
});
http://docs.jquery.com/Plugins/Validation/valid
注意:给那些没有点击链接的人。您必须先致电$("#myform").validate();
。
答案 1 :(得分:4)
答案 2 :(得分:0)
这在JQuery 1.11上对我有用
$("#userName").keyup(function () {
if ($(this)[0].validity.valid) {
// AJAX here
}
});
答案 3 :(得分:0)
你好,我找到了排他的解决方案,我和其他47k一样遇到了同样的问题,并且发现了没有其他jquery插件或库的解决方案: -首先,我们需要将输入内容注册到变量中, -然后更改checkValidity()如果为true:表示有效,则将已注册的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
}
});