jquery验证插件不会再显示错误

时间:2013-07-10 13:42:38

标签: jquery validation jquery-plugins

我正在使用jquery验证插件进行表单验证。问题在于,当我在验证中使用 errorPlacement 成功选项时,如果我发表评论 errorPlacement 成功并再次运行脚本,它运行正常。

$('#registrationForm').validate({
    rules : {},
    messages : {},
    errorPlacement: function(error, element) {
    var container = $('<div />');
    container.addClass('Ntooltip');  // add a class to the wrapper
    error.insertAfter(element);
    error.wrap(container);
    $("<div class='errorImage'></div>").insertAfter(error);
    },

    success: function(element) {
        $(element).addClass("checked");
    }
});

但是如果我在验证脚本中使用 errorPlacement 成功,那么提交我的表单一次正常工作,所有错误都显示出来,之后如果我插入有效输入然后我的错误隐藏并显示这是一个有效的输入。 问题:在插入有效输入后我再次将有效输入更改为无效,它不再显示错误

2 个答案:

答案 0 :(得分:2)

我找到了我的答案这篇文章jquery validation errorPlacement issue when adding tooltip style error message,我没有找到时间,所以我发布了我的问题。

showErrors: function (errorMap, errorList) {
            for (var i = 0; errorList[i]; i++) {
                var element = this.errorList[i].element;
                this.errorsFor(element).remove();
            }
            this.defaultShowErrors();
        }

答案 1 :(得分:1)

尝试设置debug mode以查看内部发生的情况......

$('#registrationForm').validate({
    debug: true,
    rules : {},
    messages : {},
    errorPlacement: function(error, element) {
    var container = $('<div />');
    container.addClass('Ntooltip');  // add a class to the wrapper
    error.insertAfter(element);
    error.wrap(container);
    $("<div class='errorImage'></div>").insertAfter(error);
    },

    success: function(element) {
        $(element).addClass("checked");
    }
});