JQuery在多个位置validation自定义错误消息(表单顶部和表单级别)

我正在使用JQuery Validate插件来处理表单的validation。 我要求在2个地方出错:

  1. 最重要的forms
  2. 在现场一级

我让它在现场级别工作,但我如何让它在顶级和现场级别工作。

在表单的顶部,我希望有这样的东西:

You have the following error messages:

  • First Name - This is a required field
  • Last Name - This a required field
  • Email Address - This is a required field
  • 在表单级别,我有错误消息显示如此工作:

      First Name This is a required field [ ] Last Name This is a required field [ ] Email This is a required field [ ] 

    这是HTML代码

        

    在表单级别放置错误消息的Jquery代码:

      $("#myform").validate({ rules: { firstname: { required: true }, lastname: { required: true }, email: { required: true } }, errorPlacement: function(error, element) { error.insertBefore(element); } }); 

    那么我将如何构建代码以在两个位置拥有它?

    谢谢干杯

    引用OP

    “那么我将如何构建代码以在两个位置拥有它?”

    请参阅文档中包含的showErrors选项。

    这将给你一个良好的开端(需要一些调整)……

     $("#myform").validate({ // your rules here, // call back for placement of messages within form errorPlacement: function (error, element) { error.insertBefore(element); }, // callback for custom error display showErrors: function (errorMap, errorList) { // summary of number of errors on form var msg = "Your form contains " + this.numberOfInvalids() + " errors, see details below.
    " // loop through the errorMap to display the name of the field and the error $.each(errorMap, function(key, value) { msg += key + ": " + value + "
    "; }); // place error text inside box $("#errormessages").html(msg); // also show default labels from errorPlacement callback this.defaultShowErrors(); // toggle the error summary box if (this.numberOfInvalids() > 0) { $("#errormessages").show(); } else { $("#errormessages").hide(); } } // end showErrors callback });

    工作演示: http : //jsfiddle.net/M5pzA/

    Interesting Posts