使用jquery验证列出一个容器中的所有错误消息

时间:2012-02-01 22:50:41

标签: javascript jquery jquery-validate

我希望将验证消息添加到表单上方的容器中而不是字段旁边。到目前为止,我所做的大部分工作都是如此。当用户在字段中输入无效信息时,验证消息将添加到列表中的容器中。问题是,如果用户进入某个字段并输入有效数据,则整个错误列表将被隐藏,并且在您单击有错误的字段之前不会返回。我需要错误列表保持显示,当用户修复字段时,相应的消息将消失。

以下是我设置.validate

的方法
$("#myform").validate( {
    onSubmit : false,
    errorContainer : '#message',
    errorLabelContainer : '#message',
    errorElement : "li",
});

然后我的表格上面有一个UL,ID为“错误”

我如何使这项工作?

1 个答案:

答案 0 :(得分:1)

您可以使用插件的函数创建自己的错误数组

 var summary = "";    
    jQuery.each(errorList, function() { summary += this.message + '<br />' +"\n"; });

使用

.html(summary)

您可以将错误添加到隐藏的错误容器中:这是最近项目代码的相关部分:

$("#commentForm").validate({
            showErrors: function(errorMap, errorList) {
                if (submitted) {
                    var summary = "";
                    jQuery.each(errorList, function() { summary += this.message + '<br />' +"\n"; });
                    var errorContainer = jQuery('#myErrorContainer');
                    errorContainer.fadeIn().html(summary);
                    submitted = false;
                }
            },