0

我正在使用 jquery validate,并设置了一个组,因此当我的任何必填字段无效时,它只显示一条错误消息。错误被正确抛出,但只要有多个无效字段,我就会遇到问题。由于某种原因,当第一个无效字段被清除时,jquery 会清除错误消息。它似乎没有考虑到可能还有其他无效字段尚未修复的事实。我需要保留错误消息,直到组中的最后一个无效项目被清除。

这是我正在使用的代码:

jQuery(function ($) {
    jQuery.validator.messages.required = "Please complete the required fields.";
    $("#quote").validate({
        errorLabelContainer: "#error-note",
        rules: {
            serviceDate: "required",
            recurringBasis: "required"
        },
        highlight: function (element) {
            $(element).parent().prev().prev('span').addClass("error");
        },
        unhighlight: function (element) {
            $(element).parent().prev().prev('span').removeClass("error");
        },
        groups: {
            collecive: "serviceDate recurringBasis"
        }
    });

});

这是一个 Fiddle来帮助演示我在说什么。

我需要组错误消息“请填写必填字段”。保持原状,直到组中的最后一个无效项目被清除。任何帮助将不胜感激。

4

1 回答 1

1

由于这似乎是一个错误,所以这里不能做很多事情。(我相信关于修复错误和修改插件源代码的讨论应该仅限于开发者的官方 GitHub 存储库。

否则,将onkeyupandonfocusout选项设置为false将强制表单验证测试仅在提交按钮的click事件发生时发生。不理想,但在修复错误之前可能是可接受的解决方法。

$("#quote").validate({
    onkeyup: false,
    onfocusout: false,
    ...

http://jsfiddle.net/vRWgv/3/

于 2013-07-22T19:18:46.197 回答