如果任何生成的字段为空,我正在生成我想要显示自定义错误消息的窗体区域。如何分组验证动态字段?
我生成的代码看起来像这样
<input type="text" id="Field1" name="Generated" />
<input type="text" id="Field2" name="Generated" />
等等
而我的验证码是像这样
$('#myform').validate({
rules: {
Generated: {
required:true
}
},
messages: {
Generated: { required : "Custom message." }
},
groups: {
GeneratedGroup: "Generated"
},
errorPlacement: function(error, element){
if (element.attr("name") == "Generated"){
$('#bottomOfGeneratedSectionDiv').append(error);
} else {
error.insertAfter(element);
}
}
});
如果所有生成的字段为空,验证失败并显示错误消息。
如果填写了任何一个字段,验证通过并提交表单,这是意想不到的行为。
如何分组验证动态字段?
编辑
使用sparkies help和我的新errorPlacement代码。
这应该完成我的目标。
errorPlacement: function(error, element){
if (element.attr("name").indexOf("Generated") >= 0){
$('#bottomOfGeneratedSectionDiv').empty();
$('#bottomOfGeneratedSectionDiv').append(error);
} else {
error.insertAfter(element);
}
}
我会建议使用自定义选择:http://stackoverflow.com/questions/15749419/jquery-validate-with-custom-selectors-and-logic但是我无法得到它工作http://jsfiddle.net/basarat/AnhPq/ – basarat
名称必须是唯一的,并且向组添加字段的语法是错误的。检查文档 –