2009-06-11 109 views
3

形式是: 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); 
} 

出于某种原因,它不喜欢这一点。

回答

5

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

例子:

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

使用基于coApp复选框元素的“依赖”选项中可以设置验证被检查。尝试移动的所有规则的.validate()和添加

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

对于所有共同申请人验证。

给一个镜头,让我知道。

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