两个不同元素内的 jQuery 验证插件 ErrorPlacement

标签 jquery jquery-validate

在验证大型表单时,我尝试将单独的错误消息放置在单独的元素中。该表单分为 jQueryUI 选项卡,然后是折叠面板。

当选项卡的元素出现错误时,我想在选项卡的名称后面附加一个红色感叹号,如果错误出现在 Accordion 元素中,我也想在选项卡的名称后面附加红色感叹号 Accordion 元素的名称。

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

所以:

标签1 表2 Accordion 1 Accordion 2 选项卡3

如果 Accordion 2 中的元素有错误,我想附加一个红色!到 Accordion2 和 Tab2:

标签1 选项卡2! Accordion 1 Accordion 2! 选项卡3

然后在元素成功验证后删除。我一直在尝试,但我不知道如何有条件地更改 errorElement (标签不适用于选项卡和 Accordion ,但对于实际元素来说是完美的)...

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

最佳答案

您应该尝试使用 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"
   }
})
<小时/>

已编辑2

注意:我没有测试此代码。只是为您提供想法。

$("#myform").validate({
   errorPlacement: function(error, element) {
        error.appendTo( element.closest('.tab'));

   }
})

关于两个不同元素内的 jQuery 验证插件 ErrorPlacement,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2958689/

相关文章:

javascript - 为什么 .find() 总是返回 true?

javascript - 从 Jquery slider 获取值并使其成为 ID

javascript - jQuery Validate Plugin - 触发单个字段的验证

html - DataTable JQuery 导出 PDF 显示错误方向的阿拉伯数据

javascript - Selenium webdriver TypeError : element. isDisplayed is not a function

jquery - 如何清除 jQuery 验证错误消息?

jquery - Bootstrap 4 和 jQuery 验证插件

javascript - jQuery 表单验证 - 成功 + showErrors

jquery - 与 jQuery 中的 "scrollTop"相反

javascript - jQuery 验证 - 两个必填字段和一条错误消息