2012-04-21 65 views
0

我有一个订单,表单的一部分是地址。它包含公司,街道地址,邮政编码,城市,国家与一个简单的jQuery表单验证与每个领域的要求,并验证邮编编号。现在我想要的是对它们进行分组,并且只有一个字段显示成功时显示“有效地址”,或者错误显示“地址错误”。jquery表单验证使用组

这是我的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),所以我猜想如果至少有一个字段正确,它总是调用成功。

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

回答

0

添加规则

rules: { 
    company_from: "required", 
    company_from: "required", 
    zip_from: "required", 
    town_from:"required", 
    country_from:"required" 
    }, 
+0

这不会改变任何东西。所需的是已经在我的HTML代码为CSS类。问题是,这些字段是分开评估的。 – Philipp 2012-04-25 15:56:50