0

我有一张订单,其中一部分是地址。它包含 Company、Street-Address、ZIP、Town、Country,带有一个简单的 jquery 表单验证,每个字段都需要,ZIP 验证数字。现在我想要对它们进行分组,并且只有一个字段在成功时显示“有效地址”,或者在错误时显示“地址错误”。

这是我的 js 代码的一部分:

$("#pageform").validate(
{
   messages: {
      company_from:     addressError, //addressError is a JS var for the error message
      street_from:      addressError,
      zip_from:         addressError,
      town_from:        addressError,
      country_from:     addressError
   },
   groups: {
      from:    "company_from  street_from  zip_from  town_from  country_from"
   },
   errorPlacement: function(error, element) {
      if (element.attr("name") == "company_from"
         || element.attr("name") == "street_from"
         || element.attr("name") == "zip_from"
         || element.attr("name") == "town_from"
         || element.attr("name") == "country_from"
         )
      {
         $("#error_from").append(error);
      }
   },
   success: function(label) {
      var attribute = $(label[0]).attr("for");
      $(".err-ok-" + attribute + " .ok").css("display", "block").css("visibility", "visible");
   }
}
);

这是相应 HTML 代码的一部分:

<input type="text" name="company_from" id="company_from" class="required default input-s8" maxlength="255" />
<input type="text" name="street_from" id="street_from" class="required default input-s8" maxlength="255" />
<input type="text" name="zip_from" id="zip_from" class="required digits default input-s8" maxlength="5" onblur="checkCalculation()" />
<input type="text" name="town_from" id="town_from" class="required default input-s8" maxlength="255" />
<!-- and a select list for the country -->

您无需仔细查看我如何显示错误等,我的问题是,我不知道何时显示错误标签以及何时显示成功标签。当我为邮政编码输入一个字母时,我的 errorPlacement 函数和成功函数被调用(首先是 errorPlacement),所以我猜如果至少有一个字段正确,它总是调用成功。

请询问是否有任何问题,我很确定有... :-)

4

1 回答 1

0

添加规则

    rules: {
     company_from: "required",
     company_from: "required",
     zip_from: "required",
     town_from:"required",
     country_from:"required"
    },
于 2012-04-25T14:41:53.090 回答