代码之家  ›  专栏  ›  技术社区  ›  user13286

如何使用jQuery验证插件在keyup上验证非表单元素中的输入

  •  0
  • user13286  · 技术社区  · 7 年前

    <form> 标记来包装我的输入,据我所知, jQuery Validation Plugin 仅支持验证 < keyup 不用把它们包在袋子里 < 标签?

    $(function() {
      $('.form-container').validate({
        rules: {
          useremail: {
            required: true,
            email: true
          },
          userstate: {
            required: true,
            maxlength: 2
          }
        },
        messages: {
          useremail: 'Please enter a valid email',
          userstate: 'Please enter your state',
        }
      });
      
      $('.form-container input').on('keyup', function() {
        $(this).validate();
      });
    });
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.18.0/jquery.validate.min.js"></script>
    
    <div class="form-container">
      <input type="text" name="useremail" placeholder="Email" />
      <input type="text" name="userstate" placeholder="State" maxlength="2" />
    </div>
    1 回复  |  直到 7 年前
        1
  •  1
  •   Sparky    7 年前

    .validate() form 容器。没有解决办法。

    .validate() 全都错了。因为这是插件的主要初始化方法,所以将它包装在 keyup 弹起 触发验证的事件。

    不,不能将表单输入元素放在 div 附属于 .validate() . 它将被忽略。你只能瞄准 形式 附着到的元素 .

    .validate() 你自己。该插件只允许一个调用,一旦初始化,所有后续调用 被忽略。