我正在使用jquery验证,我正在使用它:
errorLabelContainer: "#errorList",
wrapper: "li"
在页面顶部显示错误列表。但是,我也在使用它:
<label class="error" for="firstName" generated="true"></label>
在表单中的每个字段上方显示单个错误。
问题是,一次只能运行一个。如果我删除wrapper: "li"
,<label>
会显示。如果我保留wrapper: "li"
,则标签不会显示。有什么想法导致这场冲突以及如何解决这个问题?提前谢谢。
答案 0 :(得分:1)
如果我删除
wrapper: "li"
,<label>
会显示。如果我保留wrapper: "li"
,则label
不显示。不知道是什么导致了这场冲突......
这不是冲突,而是how the plugin works。 wrapper
是您希望包含消息元素的位置。默认情况下,它设置为window
,label
元素放在每个表单输入旁边。当您将其更改为li
时,您告诉插件将消息元素与li
一起放在errorLabelContainer
中。 您根本无法使用wrapper
告诉它一次出现在两个地方。
......以及如何修复它?
我不完全确定你想要实现的目标,因为谁想要在两个地方显示相同的信息?
但是,如果你真的想要一个错误列表,并且每个元素旁边都有一条错误消息,那么你应该看看the showErrors
function。
您可以使用errorMap
和/或errorList
对象构建错误列表。如果您在此函数中使用this.defaultShowErrors()
,则将重新激活通常出现在每个表单输入旁边的默认消息。
但是,IMO,您应该使用文档中的示例,其中您将默认消息放置在每个表单输入旁边,但在表单上方还有一个单个有用消息,即:< em>“你有3个错误,见下文”。