jQuery验证表单错误并将其链接到各自的字段
我正在使用jqueryvalidate,我将一个表单拆分为多个部分。在提交时,它将进行验证,我将返回包含所有错误的错误框方法。我希望能够将它们指定为链接,以便单击错误将用户带到该字段。可能是开箱即用的吗 js: 它生成的HTML如下所示:jQuery验证表单错误并将其链接到各自的字段,jquery,jquery-validate,Jquery,Jquery Validate,我正在使用jqueryvalidate,我将一个表单拆分为多个部分。在提交时,它将进行验证,我将返回包含所有错误的错误框方法。我希望能够将它们指定为链接,以便单击错误将用户带到该字段。可能是开箱即用的吗 js: 它生成的HTML如下所示: <div id="error_container"> <ul><li><label for="firstname" generated="true" class="error_two" style="displ
<div id="error_container">
<ul><li><label for="firstname" generated="true" class="error_two" style="display: inline;">Step 2: Your first name is required.</label></li></ul></div>
- 第二步:需要您的名字。
如果可能的话,我希望这个链接回到firstname字段。谢谢
编辑:我知道我没有很好地解释自己。我希望它生成的HTML如下所示:
<div id=error_container">
<ul>
<li>
<a href="link_to_field">Your first name is required.</a>
</li>
</ul>
</div>
- 快速的方法是使用validate选项focusInvalid,它将把最后一个活动或第一个无效元素集中在submit上
$('#form').validate({
.
focusInvalid: true,
.
});
- 要实现您想要做的事情,还有很长的路要走,就是在validate选项中使用淋浴ROR回调
$('#form').validate({
.
showErrors: function(errorMap, errorList) {
// errorMap - the map of errors
// errorList - array of errors
// construct the list of error items with links that focus on the invalid elements
// default behavior
this.defaultShowErrors();
},
.
}
Edit:刚刚意识到第二种方法在做什么。让我试试看。谢谢,太好了。奇怪的是,它仍然会生成标签,但单击它们确实会返回到相应的字段。添加一些悬停样式,它看起来与锚点完全相同。如果你把这个注释掉,this.default阵雨rors()代码>,将不显示默认标签。我不知道错误标签的这个特性实际上把你带回了它各自的字段。我的建议是尝试使用errorMap
或errorList
构建一个html无序列表,其中包含指向特定字段的链接。实际上,完全按照上述方式复制代码根本不会聚焦。我想这就是你说的你的意图。相反,它的工作方式正是我想要的,即连接标签和输入。就像通常单击标签可以将焦点放在相应的输入上一样,这也是在做同样的事情。所以,一旦我意识到它实际上是如何链接回字段的,我就意识到我确实想要保留标签。再次感谢你。
$('#form').validate({
.
showErrors: function(errorMap, errorList) {
// errorMap - the map of errors
// errorList - array of errors
// construct the list of error items with links that focus on the invalid elements
// default behavior
this.defaultShowErrors();
},
.
}