我在ASP.NET MVC页面上使用JQuery验证器插件,如下所示。
1)。点击更新按钮,验证消息显示正常。 2)。邮政编码最小长度为5,最大值为9,是必填字段,只有数字。
问题是即使我们输入的数字超过9位,它也会显示validatin消息,但会将其更新到数据库中。如果它未通过任何验证规则,则不应将其更新到数据库。
在验证规则中是否有任何遗漏,例如'return true / false'。
//Validate form on btnUpdateProfile button click
$("#frmCustDetails").validate({
rules: {
"AddressDetail.ZipCode": {
required: true,
digits: true,
minlength: 5,
maxlength: 9
}
},
messages: {
"AddressDetail.ZipCode": {
required: "please enter zipcode",
digits: "please enter only digits",
minlength: "Min is 5",
maxlength: "Max is 9"
}
}
});
<table>
<tr>
<td class="Form_Label"><label for="Zip">Zip</label><em>*</em></td>
<td CssClass="Form_Value"><%= Html.TextBox("AddressDetail.ZipCode", Model.AddressDetail.FirstOrDefault().ZipCode, new { @class = "required zip", minlength = "5"})%>
</td>
</tr>
<tr>
<td colspan="2" align="center"><input type="submit" id="btnUpdProfile" value="Update" /></td>
</tr>
</table>
答案 0 :(得分:3)
提交是通过AJAX处理的吗?如果是这样,您可能希望使用submitHandler
选项作为验证插件,并从那里进行提交而不是单独应用的处理程序。如果使用单独应用的处理程序,您可能希望在提交之前检查表单是否有效(使用valid()方法)。
答案 1 :(得分:0)