0

我正在使用 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");
    }
});

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

4

2 回答 2

2

在添加工具提示样式错误消息时找到了这篇文章 jquery 验证 errorPlacement 问题的答案,我没有找到那个时间,所以我发布了我的问题。

showErrors: function (errorMap, errorList) {
            for (var i = 0; errorList[i]; i++) {
                var element = this.errorList[i].element;
                this.errorsFor(element).remove();
            }
            this.defaultShowErrors();
        }
于 2013-07-11T04:38:18.103 回答
1

尝试设置调试模式以查看内部发生的情况...

$('#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");
    }
});
于 2013-07-10T14:09:34.430 回答