JQ 验证插件 - 表单外的错误标签( errorPlacement ),可能吗?

2023-12-29

我在用着JQuery 验证插件 http://bassistance.de/jquery-plugins/jquery-plugin-validation/.

我想知道是否可以将错误放置在正在验证的 FORM 元素之外。我想将所有错误标签放置在 DOM 的底部并将它们更改为绝对位置。我尝试过这样的事情:

errorPlacement: function(error, element) {
    var position = element.offset();
        error.appendTo('body');           // put the error label before end of <body>
        error.css('position', 'absolute');
        error.css('left', position.left + element.innerWidth());
        error.css('top', position.top);
        error.addClass('error-message'); // add a class to the wrapper

这是做什么的 - 如果您在输入中输入一些无效数据,错误标签显示正常,但在输入有效数据后,标签不会被删除。 (我猜由于错误标签不是表单元素的子元素,验证插件根本找不到它)

为什么我需要它?
这是因为我有大量不同的客户端站点,它们具有不同的 HTML 布局和设计。有时,表单位于宽度较小的 DIV 中,并且错误标签不适合该 div。我看到的唯一解决方案是将错误标签放置在 DOM 的末尾,然后使用绝对位置将它们放置在无效字段前面的正确位置。

关于如何使插件在 FORM 之外工作的建议?


使用 errorLabelContainer 和/或 errorContainer 选项指定错误消息的目标 DOM 节点。喜欢:

$("#myform").validate({
   errorLabelContainer: "div#errors",
})

请参阅以下位置的文档:http://docs.jquery.com/Plugins/Validation/validate#toptions http://docs.jquery.com/Plugins/Validation/validate#toptions,您将找到一些使用 errorContainer 和 errorLabelContainer 的工作示例。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JQ 验证插件 - 表单外的错误标签( errorPlacement ),可能吗? 的相关文章