0

我有一个表单,其中文本字段的要求取决于单选字段的值。当检查正确的无线电选项时,该验证第一次可以正常工作。但是,如果我们更改收音机的值,即使检查了收音机的有效选项,文本字段上的错误消息也会保留。任何想法,我如何在错误有效时消除错误?

这是我的验证码:

$().ready(function() {
    $("#myform").validate({
        rules: {
            ff_24: "required",
            ff_25: "required",
            ff_26: {
                required: {
                    depends: function(element) {
                        return ($('input[name="ff_25"]:checked').val() == 'Yes');
                    }
                }
            },
            ff_28: "required",
            ff_30: "required"
        },
        messages: {
            ff_24: "This field is required",
            ff_25: "This field is required",
            ff_26: "This field is required",
            ff_28: "This field is required",
            ff_30: "This field is required"
        },

        errorPlacement: function(error, element) {
            var container = $('<div />');
            container.addClass('tooltip'); // add a class to the wrapper
            if (element.attr('type') === 'radio') {
                error.appendTo(element.parent());
            }
            else if (element.attr('type') === 'checkbox') {
                error.insertAfter(element.next());
            }
            else {                    
                error.insertAfter(element);
            }
            error.wrap(container);
            $("<div class='errorImage'></div>").insertAfter(error);
        },
        success: function(element) {
            $(element).addClass("checked");
            return false;
        }
    });
});
4

1 回答 1

4

我相当肯定depends它有点被弃用,即使文档没有提到它。
你应该改变它:

required: function(element) {
    return ($('input[name="ff_25"]:checked').val() == 'Yes');
}

另外,您应该尝试添加onclick: true, onfocusout: true

onfocusout:在模糊时验证元素(复选框/单选按钮除外)。
onclick:在单击时验证复选框和单选按钮。

http://docs.jquery.com/Plugins/Validation/validate#options(不幸的是不能直接链接,点击选项并向下滚动)

于 2012-05-31T20:36:44.733 回答