您能否使用bassassistance的jquery验证插件单独验证字段集?
我有一个使用验证插件的表单,但我需要使用稍微不同的标准验证表单的一个单独部分-大多数字段将错误放在下一个表格单元格中,但对于一个字段,我需要将错误放在其他地方 这是主要表单字段的验证函数:您能否使用bassassistance的jquery验证插件单独验证字段集?,jquery,jquery-validate,errorplacement,Jquery,Jquery Validate,Errorplacement,我有一个使用验证插件的表单,但我需要使用稍微不同的标准验证表单的一个单独部分-大多数字段将错误放在下一个表格单元格中,但对于一个字段,我需要将错误放在其他地方 这是主要表单字段的验证函数: jQuery("#form2").validate({ rules: { street: { required: true, minlength: 5 }, city: { requ
jQuery("#form2").validate({
rules: {
street: {
required: true,
minlength: 5
},
city: {
required: true,
minlength: 3
},
state: {
required: true
},
zip: {
required: true,
minlength: 5
}
},
messages: {
street: {
required: "Please enter your address",
minlength: "Address is too short"
},
city: {
required: "Please enter your town/city",
minlength: "Town/City is too short"
},
state: {
required: "Please enter your county"
},
zip: {
required: "Please enter your postcode",
minlength: "Postcode is too short"
}
},
errorPlacement: function(error, element) {
error.appendTo(element.parent("td").next("td"));
}
}); // end validate
基本上,我还想单独验证此字段集,因此可以为errorPlacement使用不同的值:
jQuery("#elecfields").validate({
rules: {
sup1: {
minlength: 2
}
},
messages: {
sup1: {
minlength: "must be 2 digits"
}
},
errorPlacement: function(error, element)
{
// different error placement is needed here
}
}); // end elecfields validate
elecfields是form2中的一个字段集-但这似乎不起作用
似乎errorPlacement必须应用于表单中的所有字段,但我只有一个字段需要在其他地方放置错误。对于如何实现这一点,有什么想法吗?非常感谢您的帮助。您说得对。errorPlacement处理程序确实适用于整个表单,但您也可以在其中包含逻辑,以便在某些情况下以不同的方式处理错误。例如,您可以查看元素属性direclty并查看有问题的项,或者可以基于公共父级(在您的示例中是字段集)对它们进行过滤。例如:
$("#form").validate({
/* */
errorPlacement: function(error, element)
{
if( element.closest("#subFieldSet").length ) {
/* special handling */
} else {
/* generic handling */
error.insertAfter(element);
}
}
});
对不同的部分使用多个表单如何
这样,您就可以为不同的表单制定不同的规则,并且不会弄乱errorPlacement选项。这对我没有帮助,因为我需要在一个表单上完成所有操作。错误位置的改变是完美的答案。