如何使用jquery验证插件模拟验证组?

时间:2010-12-03 22:03:53

标签: jquery-validate

我有一个包含多个字段的表单,我正在验证。我已将控件组织成2个字段集:MASTER和DETAIL。

Screenshot

我使用保存按钮提交表单添加按钮将新项目添加到我的对象数组中,其中I暂时存储通过DETAIL输入输入的数据,然后我将发送到服务器以及MASTER部分的数据。

问题是,当我按下添加按钮并且我仍然没有填写MASTER输入时,由于Master验证,我无法继续添加新细节。同样,当我尝试提交表单并且DETAIL字段为空时,将触发详细信息验证。

我的问题是:是否可以使用jQuery验证插件模拟验证组?

1 个答案:

答案 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.如果我输入数据时出错,那么我必须按两次按钮才能激活验证

我希望你能帮我改进这段代码