【发布时间】:2014-06-27 11:17:59
【问题描述】:
我有一个包含大约 50 个字段和两个提交按钮的表单,“SAVE”和“SAVE & SUBMIT”。 如果用户单击“保存”,则仅验证某些值,例如。场 1,场 2。当用户点击“保存并提交”按钮时,它应该验证所有 50 个字段并提交。
<form id="myform">
<input type="text" name="field1" />
<br/>
<input type="text" name="field2" />
<br/>
<input type="text" name="field3" />
<br/>
<input type="text" name="field4" />
<br/>
<input type="submit" id="button1" value="Save" />
<input type="submit" id="button2" value="Submit" />
</form>
$(document).ready(function () {
$('#button1').click(function(){
$("#myform").validate({
rules: {
field1: {
required: true
},
field2: {
required: true
}
},
submitHandler: function (form) { // for demo
alert("data saved");
}
});
});
$('#button2').click(function(){
$("#myform").validate({
rules: {
field1: {
required: true
},
field2: {
required: true
},
field3: {
required: true
},
field4: {
required: true
}
},
submitHandler: function (form) { // for demo
alert("data submited");
}
});
});
});
我为此创建了 jsfiddle:example test
【问题讨论】:
-
你有什么问题?请在此处发布您的代码,而不仅仅是作为小提琴链接。
-
validate旨在应用于表单一次。无论您先按哪个按钮,都将从那时起设置验证。在再次应用validate之前,您需要弄清楚如何从所有字段中删除现有验证。 -
@Barmar 正如我所说,我有 50 个字段,我发布了所有代码,这将是非常日志问题。对这个问题投反对票是没有意义的。我在 jsfiddle 上所做的所有测试。
-
您使用的是哪个
validate(请下载页面)?一些验证插件允许您动态添加和删除规则(但我感觉您的不是其中之一)。 -
@TrueBlueAussie,他正在使用the jQuery Validate plugin,基于 OP 声明、“jQuery 验证插件”、他的
.validate()代码和 jquery-validate 标签。是的,它允许动态规则更改。