如何在jQuery验证中显示错误?

时间:2010-09-28 08:42:29

标签: javascript jquery validation jquery-validate

我们是否有任何函数在验证表单时返回所有错误消息?

我尝试使用 defaultshowerros()函数,但它返回了当前正在验证的元素的错误消息。如何获取整个表单的所有错误消息?

3 个答案:

答案 0 :(得分:14)

如果存储对验证器的引用,例如:

var validator = $("form").validate();

您可以随时致电.errors().invalidElements(),例如:

var errors = validator.errors(); //get the error elements, the actual labels
var errors = validator.invalidElements(); //the invalid elements themselves

如果您没有真正完成错误,并希望它们出现在一次,请使用内置的errorLabelContainer and wrapper options,例如:

<ul id="errors"></ul>

并参考:

$("form").validate({ errorLabelContainer: "#errors", wrapper: "li" });

并且您的错误将出现在该列表中,如果存在/没有任何错误,也会自动显示/隐藏。

答案 1 :(得分:1)

验证插件应在错误所在的字段旁边显示错误。你是否在输入框中使用id?如果是这样,也使用一个名称,并在规则和消息中为jquery提供name属性的值。希望这会有所帮助。

答案 2 :(得分:1)

晚会,但我发现你也可以使用validate()函数实例化invalidHandler()对象:

var $jqvForm = $(".jqvForm").validate({
    invalidHandler: function(e, validation){
        console.log("invalidHandler : event", e);
        console.log("invalidHandler : validation", validation);
    }
});

validation变量包含一个变量invalid(对象),其中包含表单项及其错误消息。