我们是否有任何函数在验证表单时返回所有错误消息?
我尝试使用 defaultshowerros()函数,但它返回了当前正在验证的元素的错误消息。如何获取整个表单的所有错误消息?
答案 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
(对象),其中包含表单项及其错误消息。