我想在頁面上使用JQuery驗證插件,我需要驗證表的每一行上的輸入字段。這些輸入字段不共享相同的名稱。所以我使用addMethod和addClassrules向輸入字段添加了驗證消息。JqueryValidation插件錯誤消息問題
$.validator.addMethod("RequiredFields", $.validator.methods.required, "Required Field");
$.validator.addMethod("EmailValid", $.validator.methods.email, "Invalid Email");
$.validator.addClassRules("RequiredFieldValidation", {
RequiredFields: true
});
$.validator.addClassRules("EmailValidation", {
RequiredFields: true,
EmailValid: true
});
$("#Form1").validate({
errorPlacement: function (error, element) {
if (element.parent("td").parent("tr").find('td:last-child').html() == "") {
element.parent("td").parent("tr").find('td:last-child').html("*");
error.appendTo(element.parent("td").parent("tr").find('td:last-child'));
} else {
element.parent("td").parent("tr").find('td:last-child').append(" and ");
error.appendTo(element.parent("td").parent("tr").find('td:last-child'));
}
},
errorClass: "ErrorCell",
validClass: ""
});
我已經加入RequiredFieldValidation
和EmailValidation
作爲類別到輸入字段。
我的HTML如下所示。
<pre>
<code>
<form id="Form1" method="post" runat="server">
<table id="tbl_Temp">
<tbody>
<tr>
<th>First Name</th>
<th>Last Name</th>
<th>Email Address</th>
<th class="ErrorCellHeader"></th>
</tr>
<tr>
<td>
<input name="txtFName1_Temp" id="txtFName1_Temp" />
</td>
<td>
<input name="txtLName1_Temp" class="RequiredFieldValidation " id="txtLName1_Temp" />
</td>
<td>
<input name="txtEmail1_Temp" class="EmailValidation" id="txtEmail1_Temp" />
</td>
<td class="ErrorMessage"></td>
</tr>
<tr>
<td>
<input name="txtFName2_Temp" id="txtFName2_Temp" />
</td>
<td>
<input name="txtLName2_Temp" class="RequiredFieldValidation " id="txtLName2_Temp" />
</td>
<td>
<input name="txtEmail2_Temp" class="EmailValidation" id="txtEmail2_Temp" />
</td>
<td class="ErrorMessage"></td>
</tr>
</tbody>
</table>
<input name="btn_submit" id="btn_submit" type="submit" value="Submit" />
</form>
</code>
</pre>
一切工作正常..除了錯誤消息。我試圖用「和」來連接消息,但是當驗證通過時我無法擺脫它們。
任何輸入讚賞。
演示可以在JSFiddle