jQuery Validate - 分组多个字段时组字段无法正常工作

时间:2012-03-29 20:04:42

标签: jquery-validate grouping

以下代码有效,但对于DOB,它会在第一个文本框(DayOfBirth)之后显示错误消息,而不是第三个文本框(YearOfBirth)。

$("form").validate({
rules: {
    DayOfBirth: { required: true },
    MonthOfBirth: { required: true },
    YearOfBirth: { required: true },
    SSN1: { required: true },
    SSN2: { required: true },
    SSN3: { required: true }
},
groups: {
    DateofBirth: "DayOfBirth MonthOfBirth YearOfBirth",
    SSN: "SSN1 SSN2 SSN3"
},
errorPlacement: function(error, element) {
   if (element.attr("name") == "DayOfBirth" || element.attr("name") == "MonthOfBirth" || element.attr("name") == "YearOfBirth") 
    error.insertAfter("#YearOfBirth");
   else 
    error.insertAfter(element);
if (element.attr("name") == "SSN1" || element.attr("name") == "SSN2" || element.attr("name") == "SSN3") 
    error.insertAfter("#SSN3Text");
   else 
    error.insertAfter(element);
}
});

1 个答案:

答案 0 :(得分:1)

更改...

error.insertAfter("#YearOfBirth");

为...

form.find(".error").append(error);

并且在YearOfBirth之后将显示错误。

下次,也许整个代码包含HTML或问题的jsFiddle演示文稿可能会更清楚地解释您的问题。