我使用jQuery Validation插件,我开始将我的一些字段组合在一起:
我还将字段添加到规则部分,以便验证它们:
groups: {
fullName: "myFirstName myLastName"
},
rules: {
dobmm: {
required: true
},
dobdd: {
required: true
}
dobyy: {
required: true
}
},
messages: {
dobmm: "Please enter a valid Date of Birth",
dobdd: "Please enter a valid Date of Birth",
dobyy: "Please enter a valid Date of Birth"
}
errorPlacement: function(error, element) {
if (element.attr("id") == "dobmm" || element.attr("id") == "dobyy" || element.attr("id") == "dobyy") {
error.insertAfter("#dobyy");
} else {
error.insertAfter(element);
}
});
我收到消息三次而不是打印一次。当我尝试提交表单而不填写任何字段或者没有输入任何一个字段并提交时,只获得一条消息
答案 0 :(得分:0)
您没有显示任何HTML,因此我无法在演示中为您复制任何内容。
但是,您有一堆语法错误会破坏此插件。请在下面的代码中注明我的评论......
$('#yourform').validate({ // <- MISSING LINE
groups: {
fullName: "myFirstName myLastName"
},
rules: {
dobmm: {
required: true
},
dobdd: {
required: true
}, // <- MISSING COMMA
dobyy: {
required: true
}
},
messages: {
dobmm: "Please enter a valid Date of Birth",
dobdd: "Please enter a valid Date of Birth",
dobyy: "Please enter a valid Date of Birth"
}, // <- MISSING COMMA
errorPlacement: function(error, element) {
if (element.attr("id") == "dobmm" || element.attr("id") == "dobyy" || element.attr("id") == "dobyy") {
error.insertAfter("#dobyy");
} else {
error.insertAfter(element);
}
} // <- MISSING BRACE
});
此外,您已将myFirstName
和myLastName
定义为您的分组。但是,由于您没有在rules
中的/下面列出这些字段名称,我不确定它应该如何工作。 groups
选项旨在将错误消息组合在一起。如果您没有为myFirstName
和myLastName
声明任何规则,则根本不会有任何消息。