【问题标题】:How can I simulate a validation group with jquery validation plugin?如何使用 jquery 验证插件模拟验证组?
【发布时间】:2013-02-26 19:31:25
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: jquery-validate


    【解决方案1】:

    我一直在谷歌搜索,我发现我可以删除/添加类(例如,requirednumber);这给了我一些关于如何模拟验证组的想法。

    $(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")在我按下添加之前不起作用

    2.如果我输入数据有误,我必须按两次按钮来触发验证

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

    【讨论】:

      猜你喜欢
      • 2021-01-04
      • 1970-01-01
      • 2017-05-28
      • 1970-01-01
      • 2015-07-08
      • 2010-09-21
      • 2011-02-06
      • 2012-04-30
      • 1970-01-01
      相关资源
      最近更新 更多