jQuery   发布时间:2022-04-19  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了jQuery validate plugin – showErrors选项 – errorContainer不会隐藏/显示大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我一直在努力为我的网站提供一个很好的验证解决方案,但我遇到了不同选项的问题.我已经彻底阅读了文档并查看了示例,但我仍然遇到问题.

我的表格在桌子上.我希望每一行都有它自己的错误行,它通常是隐藏的,但是会在适当时显示每一行.

以下选项隐藏并显示错误行正常,但每个错误行显示错误消息是每个错误消息的整个串联:

$('#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() );
    }
});

所以我尝试使用showErrors选项,如下所示:

$('#myform').validate({
        rules: {
            firstName: "required",lastName: "required"
        },messages: {
            firstName: "Enter your first name.",lastName: "Enter your last name."
        },errorContainer: '.errorRow.appValuecolumn',showErrors: function(errorMap,errorList) {
        $.each(errorMap,function(key,value) {
       $('#'+key).parent().next().children('.appValuecolumn').html(errorMap[key]);
});

好吧,现在错误都被分开并显示在正确的位置,但我无显示.errorRows.在这做错了什么?

非常感谢

解决方法

@H_197_25@ 如果查看showErrors方法的验证插件的源代码,您可以:

this.setTings.showErrors
            ? this.setTings.showErrors.call( this,this.errorMap,this.errorList )
            : this.defaultShowErrors();

这意味着如果为此方法提供自定义处理程序,则不会执行认行为.

您可以在自己的showErrors处理程序结束时调用this.defaultShowErrors(),该处理程序将变为:

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

希望这可以帮助 !

大佬总结

以上是大佬教程为你收集整理的jQuery validate plugin – showErrors选项 – errorContainer不会隐藏/显示全部内容,希望文章能够帮你解决jQuery validate plugin – showErrors选项 – errorContainer不会隐藏/显示所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。