我有一个包含多个字段的表单,我正在验证。我已将控件组织成2个字段集:MASTER和DETAIL。
我使用保存按钮提交表单和添加按钮将新项目添加到我的对象数组中,其中I暂时存储通过DETAIL输入输入的数据,然后我将发送到服务器以及MASTER部分的数据。
问题是,当我按下添加按钮并且我仍然没有填写MASTER输入时,由于Master验证,我无法继续添加新细节。同样,当我尝试提交表单并且DETAIL字段为空时,将触发详细信息验证。
我的问题是:是否可以使用jQuery验证插件模拟验证组?
答案 0 :(得分:1)
我一直在谷歌搜索,我发现我可以删除/添加课程(例如,必需,数字);这给了我一些关于如何模拟验证组的想法。
$(document).ready(function(){
$("#add").click(function() {
$("#fecha").removeClass("required");
$("#fecha").removeClass("date");
$("#numeroDoc").removeClass("required");
$("#numeroDoc").removeClass("number");
$("#serieDoc").removeClass("required");
$("#serieDoc").removeClass("number");
$("#importe").addClass("required");
$("#importe").addClass("number");
$("#concepto").addClass("required");
});
$("#save").click(function() {
$("#importe").removeClass("required");
$("#importe").removeClass("number");
$("#concepto").removeClass("required");
$("#fecha").addClass("required");
$("#fecha").addClass("date");
$("#numeroDoc").addClass("required");
$("#numeroDoc").addClass("number");
$("#serieDoc").addClass("required");
$("#serieDoc").addClass("number");
});
$("#form1").validate({
errorPlacement: function(error, element) {
error.appendTo( element.parent("td").next("td") );
} ,
submitHandler: function(form) {
$("#add").click(function() {
addDetail();
return false;
});
$("#save").click(function() {
return false;
});
}
});
});
虽然,我显然已经找到了答案,但由于一些细节,我不太确定:
1.首次加载页面时,只有数字验证(class =“number”)才能按下Add
2.如果我输入数据时出错,那么我必须按两次按钮才能激活验证
我希望你能帮我改进这段代码