How can I show errors in jQuery validation?

淺唱寂寞╮ 提交于 2019-12-21 04:35:11

问题


Do we have any function which returns all the error messages while validating a form?

I have tried using the defaultshowerros() function but it returns the error message for the element it is currently validating. How can I get all the error messages of the whole form?


回答1:


If you store a reference to the validator, for example:

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

You can call .errors() or .invalidElements() at any time on it, for example:

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

If you're not really after the errors and just want them to appear in once place, use the built-in errorLabelContainer and wrapper options, for example:

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

And reference that:

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

And your errors would appear all in that list, which is also automatically shown/hidden if there are/aren't any errors.




回答2:


The validation plugin should show an error beside the field where the error is. Are you using id's for your input boxes? If so use a name as well and give jquery the value of the name attribute in your rules and messages. Hope this helps.




回答3:


Late to the party, but I found you can also instantiate the validate() object with a invalidHandler() function:

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

The validation variable contains a variable invalid (object) with form items and their error messages.



来源:https://stackoverflow.com/questions/3811044/how-can-i-show-errors-in-jquery-validation

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!