jQuery Validation Plugin ErrorPlacement里面有两个不同的元素

时间:2010-06-02 14:33:36

标签: jquery jquery-validate

在验证大表单时,我试图在单独的元素中放置单独的错误消息。表单分为jQueryUI选项卡,然后是手风琴。

当选项卡的元素出现错误时,我想在选项卡的名称后附加一个红色惊叹号,如果错误是在accordion元素中,我还想将红色感叹号附加到手风琴元素的名称。

随后,当纠正错误时,我希望那些红色!要删除(正如删除无效字段下面的错误消息一样。

所以:

TAB1 TAB2    Accordion1    Accordion2 TAB3

如果手风琴2中的元素有错误,我想加一个红色!到accordion2和tab2:

TAB1 TAB2!    Accordion1    Accordion2! TAB3

然后在元素成功验证时删除。我一直在尝试,但我无法弄清楚如何有条件地改变errorElement(标签不适用于标签和手风琴,但对于实际元素是完美的)...

希望这是有道理的,感谢您提供的任何输入。

1 个答案:

答案 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'));

   }
})