jQueryvalidation:分两部分validation表单

我想在两个部分中validation一个表单,当我单击btn按钮然后validation正确完成,但是当我单击btnn它不起作用并且始终validationfield1

这是我的代码

jQuery的:

 $(document).ready(function() { $("#form1").validate({ rules: { field1: "required" }, messages: { field1: "Please specify your name" } }) $('#btn').click(function() { $("#form1").valid(); }); $("#form1").validate({ rules: { field2: "required" }, messages: { field2: "Please specify your name" } }) $('#btnn').click(function() { $("#form1").valid(); }); }); 

HTML

 
Field 1: Field 2:

有什么建议?

按照设计,您不能在同一表单上调用两次.validate()方法。 .validate()方法用于初始化,第二个实例将始终被忽略。

你有两个选择:

  1. 将第2部分放入自己的

    容器中。

要么

  1. 其他一些技巧,如显示/隐藏表单字段,或使用.rules()方法根据单击的按钮动态添加/删除规则。 如果您正在显示/隐藏这些字段,则在.validate()的同一实例中声明所有规则,并利用此插件的默认行为,即忽略所有隐藏字段。

既然您没有透露多部分表单的工作概念,或者想要分两部分validation的目的,我将向您展示最简单的解决方案,即建议#1。

jQuery

 $(document).ready(function() { $("#form1").validate({ // initialize `form1` rules: { field1: "required" }, messages: { field1: "Please specify your name" } }); $('#btn').click(function() { $("#form1").valid(); }); $("#form2").validate({ // initialize `form2` rules: { field2: "required" }, messages: { field2: "Please specify your name" } }); $('#btnn').click(function() { $("#form2").valid(); }); }); 

HTML

 
Field 1:
Field 2:

这是另一个答案,显示了如何完成多步骤表单:

https://stackoverflow.com/a/20481497/594235