jquery 验证错误多个字段 1 个自定义错误消息

jquery validation error multiple fields 1 custom error message

我在 Stack 上四处寻找,试图找到解决我在 jQuery 验证中遇到的问题的方法。我决定将输入字段下方的错误消息更改为放置在表单上方的 单个 通用全包消息。 我在那条消息 "#error_mail" 上有一个 class "hide" 我想用"error" 当 submission/validation 的字段中出现错误时。 任何帮助将不胜感激,提前致谢。

HTML

<form action="#" method="post" class="new_web_user" id="new_web_user" autocomplete="off">
            <p class="fields-required">
            *Required fields</p>
            <p id="error_mail" class="hide">We&#39;re sorry, the fields highlighted in red are required</p>
            <div class="field-column"> etc etc.....

JS

$(function(){jQuery.validator.setDefaults({
             errorContainer: "#error_mail",
             errorPlacement: function(error, element) {
             error.appendTo('#error_mail');
      },
             ignore: ':hidden:not([class~=selectized]),:hidden > .selectized, .selectize-control .selectize-input input'
      });

    $('#new_web_user').validate({
              rules: {
                  web_user_title: {required: true},
                  web_user_given_name: {
                    required: true
                 },
                  web_user_family_name: {
                    required: true
                 },                  
                  web_user_email: { 
                    required:   true,
                    email:      true
                 },
                 email_confirmation: {
                    required:   true,
                      equalTo: '#web_user_email'
                 },
                 web_user_country: {
                    required:   false,
                 },
              },
              messages : {
                 web_user_title:     {
                        required: "Please select a title."
                 },
                 web_user_given_name:    {
                        required: "Firstname is required."
                 },
                 web_user_family_name:   {
                        required: "Lastname is required."
                 },
                 web_user_email:     {
                        required: "Email address is required.",
                        email: "Email address seems invalid."
                 },
                 email_confirmation:     {
                        required: "Email address is required.",
                        equalTo: "Email addresses do not match."
                 },
                 web_user_country:   {
                        required: "Please choose your country."
                 }
             },
             submitHandler:  function(form) {
                $.ajax({

您可以使用 jQuery 中提供的选项大大简化此验证:

$("#new_web_user").validate({
    errorContainer: '#error_mail',
    errorLabelContainer: '#actual_errors',
    wrapper:'li',
    //your rules and messages here
});

然后,将您的 HTML 更改为更像这样的内容:

<p id="error_mail" class="hide error">
  We&#39;re sorry, the fields highlighted in red are required 
  <ul id="actual_errors"></ul>
</p>

请注意,不要 adding/removing 您想要 #error_mail 上的错误 class,只需始终设置它,因为它只会在出现问题时可见。 .

看到它在这里工作:http://jsfiddle.net/cayjuwf4/