Javascript 使用validator jQuery验证单击表单事件

Javascript 使用validator jQuery验证单击表单事件,javascript,jquery,click,submit,validation,Javascript,Jquery,Click,Submit,Validation,我使用jqueryvalidate验证输入。 我的代码: $('#button').click( function() { $("#form").validate({ rules: { phone: { required: true, number: true, rangelength: [7, 14]

我使用jqueryvalidate验证输入。 我的代码:

 $('#button').click( function() {       
    $("#form").validate({              
        rules: {
            phone: {
                required: true,
                number: true,
                rangelength: [7, 14]
            }
        }
    }); 
});
以及HTML:

<form id="form" name="form" method="post" action="">
 <input id="phone" name="phone" class="required" type="text" />
 <div class="button" id="send_b">Send</div>
 </form>
在click事件中,它起作用。但是我不想提交表单,所以我只想在单击时进行验证

有人知道怎么做吗?

只需添加即可立即手动触发验证(默认行为等待提交事件):


您的代码正在将函数绑定到按钮的
单击事件。您所做的是说“单击此按钮时,将表单验证应用于表单”

这是使用验证插件的错误方式(我假设您使用的是验证插件)。相反,您只需直接在
表单
元素上执行
validation()
方法;该插件负责
submit
事件


因此,摆脱点击事件绑定。

在点击事件中使用form方法
form()
方法

提供更多关于“不工作”的详细信息。它做的不是你期望它做的事情吗?IIRC
validate()
不进行验证,它为提交设置验证。仔细查看代码,看看它是否可以短路,或者是否有一个方法可以调用,它实际上只执行验证。我刚刚遇到一个问题,我正在验证一个输入框,并且该值是链接的一个参数。但我认为你是对的,它会自动验证onclick。
$("#form").submit();  
$('#button').click( function() {       
  $("#form").validate({              
    rules: {
      phone: {
        required: true,
        number: true,
        rangelength: [7, 14]
      }
    }
  }).form(); 
});