【问题标题】:jQuery Validation plugin: how to check if an element is valid?jQuery Validation 插件:如何检查元素是否有效?
【发布时间】:2009-01-15 16:46:50
【问题描述】:

一点上下文:

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

我想要类似的东西:

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

我搜索了文档,但找不到解决问题的方法。

【问题讨论】:

  • 插件包含专门用于此任务的remote 方法。

标签: javascript jquery jquery-validate


【解决方案1】:
$("#userName").keyup(function () {
    if ($("#userName").valid() == true ) {
        //make ajax called
    }
});

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

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

【讨论】:

  • 给那些没有点击链接的人的快速说明。您必须先致电$("#myform").validate();
  • 请注意,如果用户通过右键单击、粘贴等方式输入名称,则此代码根本不会运行。使用遥控器。
  • 使用 focusout 而不是 keyup。并且手动验证不需要 $("#myform").validate()。
  • 我认为这是错误的。 valid() 将检查委托给元素的表单,因此如果表单的另一个元素无效但您检查的元素有效,则答案仍将为“真”
【解决方案2】:

Validator.element()

描述:验证单个元素,如果有效则返回true, 否则为假。

http://jqueryvalidation.org/Validator.element

【讨论】:

  • 即触发验证。 OP询问如何检查它是否有效
  • @user2903379 阅读文档:验证单个元素,如果有效则返回 true,否则返回 false。你看到我在那里做了什么吗?如果有效则返回 TRUE
【解决方案3】:

这在 JQuery 1.11 上对我有用

$("#userName").keyup(function () {
    if ($(this)[0].validity.valid) {
        // AJAX here
    }
});

【讨论】:

    【解决方案4】:

    你好,我找到了独家解决方案,我和其他 47k 人有同样的问题,我发现没有其他 jquery 插件或库的解决方案: -首先我们需要在一个变量中注册我们的输入, -then on change checkValidity() if 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
                 }
            });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-12-13
      • 2020-02-21
      • 2011-07-14
      • 1970-01-01
      • 2015-05-30
      • 1970-01-01
      • 2022-12-16
      • 2014-11-14
      相关资源
      最近更新 更多