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
有什么建议?
按照设计,您不能在同一表单上调用两次.validate()
方法。 .validate()
方法用于初始化,第二个实例将始终被忽略。
你有两个选择:
- 将第2部分放入自己的
容器中。
要么
- 其他一些技巧,如显示/隐藏表单字段,或使用
.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 :
这是另一个答案,显示了如何完成多步骤表单: