在验证大表单时,我试图在单独的元素中放置单独的错误消息。表单分为jQueryUI选项卡,然后是手风琴。
当选项卡的元素出现错误时,我想在选项卡的名称后附加一个红色惊叹号,如果错误是在accordion元素中,我还想将红色感叹号附加到手风琴元素的名称。
随后,当纠正错误时,我希望那些红色!要删除(正如删除无效字段下面的错误消息一样。
所以:
TAB1 TAB2 Accordion1 Accordion2 TAB3
如果手风琴2中的元素有错误,我想加一个红色!到accordion2和tab2:
TAB1 TAB2! Accordion1 Accordion2! TAB3
然后在元素成功验证时删除。我一直在尝试,但我无法弄清楚如何有条件地改变errorElement(标签不适用于标签和手风琴,但对于实际元素是完美的)...
希望这是有道理的,感谢您提供的任何输入。
答案 0 :(得分:1)
您应该尝试使用errorcontainer选项
$("#myform").validate({
errorContainer: "#Accordion2"
})
<强>被修改强>
$("#myform").validate({
showErrors: function(errorMap, errorList) {
//error define where the errors in the ErrorList Go
//you could also try
this.errorContainer = "element1id, element2id"
}
})
<强> Edited2 强>
注意:我没有测试此代码。只是为你提供想法。
$("#myform").validate({
errorPlacement: function(error, element) {
error.appendTo( element.closest('.tab'));
}
})