如果任何生成的字段爲空,我正在生成我想要顯示自定義錯誤消息的窗體區域。如何分組驗證動態字段?
我生成的代碼看起來像這樣
<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
名稱必須是唯一的,並且向組添加字段的語法是錯誤的。檢查文檔 –