【问题标题】:Adding rules to validate() with grouping通过分组向 validate() 添加规则
【发布时间】:2009-06-11 17:13:31
【问题描述】:

表格位于: http://fuzzysiberians.com/app4.cfm?a=1

我正在使用:

$('#sec_ssn3').rules("add", {
    groups: {
        ssn:"sec_ssn1 sec_ssn2 sec_ssn3"
    }, 
    required:true,
    number: true,
    messages: {
        required: " <span style='color:red;'>Please enter co-applicant's social security number</span>"
    }
});

如果选中了共同申请人复选框,我会要求提供共同申请人的社会安全号码。分组有点工作,但我如何摆脱重复的错误消息?一旦输入数字,最后一个甚至不会消失。主申请人的ssn效果很好。 在主要的 validate() 函数上,我添加了:

errorPlacement: function(error, element) {
    if (element.attr("name") == "ssn1" || element.attr("name") == "ssn2" || element.attr("name") == "ssn3" )
        error.insertAfter("#ssn3");
    else if (element.attr("name") == "sec_ssn1" || element.attr("name") == "sec_ssn2" || element.attr("name") == "sec_ssn3" )
        error.insertAfter("#sec_ssn3");
    else 
        error.insertAfter(element); 
}

由于某种原因,它不喜欢那样。

【问题讨论】:

    标签: jquery validation


    【解决方案1】:

    查看文档 (http://docs.jquery.com/Plugins/Validation/validate#options) 可能有更好的方法来设置您的规则。

    以上链接示例:

    $(".selector").validate({
       rules: {
         contact: {
           required: true,
           email: {
             depends: function(element) {
               return $("#contactform_email:checked")
             }
           }
         }
       }
    });
    

    使用“depends”选项,您可以根据选中的 coApp 复选框设置元素验证。尝试将所有规则移至 .validate() 并添加

    depends: function(element){ return $("#coApp").is(":checked"); }

    所有共同申请人的验证。

    试一试,然后告诉我。

    不要忘记重新验证/解析服务器端!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-04-02
      • 1970-01-01
      • 2013-12-14
      • 2010-09-21
      • 2015-02-18
      • 1970-01-01
      • 2021-04-26
      相关资源
      最近更新 更多