表格如下: 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工作得很好。 在main 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);
}
由于某种原因,它不喜欢那样。
答案 0 :(得分:5)
查看文档(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"); }
所有共同申请人的验证。
试一试,让我知道。
不要忘记重新验证/解析服务器端!