jQuery验证插件-淋浴错误选项-错误容器未取消隐藏/显示

jQuery验证插件-淋浴错误选项-错误容器未取消隐藏/显示,jquery,jquery-validate,Jquery,Jquery Validate,我一直在努力为我的网站找到一个很好的验证解决方案,但我在不同的选项上遇到了麻烦。我已经彻底阅读了文档并查看了示例,但仍然存在一些问题 我的表格在一张桌子里。我希望每一行下面都有它自己的错误行,这通常是隐藏的,但会根据需要为每一行显示 以下选项隐藏并显示了错误行,但每个错误行中显示的错误消息是每个错误消息的全部串联: $('#myform').validate({ rules: { firstName: "required", lastName: "requ

我一直在努力为我的网站找到一个很好的验证解决方案,但我在不同的选项上遇到了麻烦。我已经彻底阅读了文档并查看了示例,但仍然存在一些问题

我的表格在一张桌子里。我希望每一行下面都有它自己的错误行,这通常是隐藏的,但会根据需要为每一行显示

以下选项隐藏并显示了错误行,但每个错误行中显示的错误消息是每个错误消息的全部串联:

$('#myform').validate({
    rules: {
        firstName: "required",
        lastName: "required"
    },
    messages: {
        firstName: "Enter your first name.",
        lastName: "Enter your last name."
    },
    errorContainer: '.errorRow',
    errorLabelContainer: '.errorRow.appValueColumn',
    errorPlacement: function(error, element) {
        error.appendTo( element.parent().next() );
    }
});
因此,我尝试使用淋浴RORS选项,如下所示:

  $('#myform').validate({
        rules: {
            firstName: "required",
            lastName: "required"
        },
        messages: {
            firstName: "Enter your first name.",
            lastName: "Enter your last name."
        },
        errorContainer: '.errorRow',
        errorContainer: '.errorRow.appValueColumn',
        showErrors: function(errorMap, errorList) {
        $.each(errorMap, function(key, value) {
       $('#'+key).parent().next().children('.appValueColumn').html(errorMap[key]);
});
好了,现在所有的错误都被分开并显示在正确的位置,但是我无法显示
.errorRows
。我做错了什么


非常感谢

如果您查看淋浴RORS方法验证插件的来源,您有:

this.settings.showErrors
            ? this.settings.showErrors.call( this, this.errorMap, this.errorList )
            : this.defaultShowErrors();
这意味着,如果为此方法提供自定义处理程序,则不会执行默认行为

您可以在自己的淋浴RORS处理程序的末尾调用此.default淋浴RORS(),该处理程序将成为:

showErrors: function(errorMap, errorList) {
    $.each(errorMap, function(key, value) {
        $('#'+key).parent().next().children('.appValueColumn')
                  .html(errorMap[key]);
    });
    this.defaultShowErrors();
});

希望这有帮助

确保使用的类名在这些行上没有前导点:

errorContainer: 'errorRow',
errorLabelContainer: 'errorRow appValueColumn',

我按照你的代码申请了我的。单击提交时出错,但某些页面刷新时出错。你能检查一下我犯了什么错误吗。这里的fiddle链接:好吧,看看控制台,你可以看到有一个异常“uncaughttypeerror:this.defaultShowErrors不是一个函数”。正如我在文章
中所说,应该在自定义
showErrors
处理程序的末尾调用此.defaultShowErrors()
,但在代码示例中,它包含在
$中。each()
!接得好;-)