在制作租赁销售接口的时候,有账号开通功能,要求专柜编号必须是6位数字,专柜名称不能为空,所以在提交表单的之前需要验证表单,下面是如何使用validate进行表单验证
首先导入JS库
<script src="../plugin/jquery.js" type="text/javascript"></script>
<script src="../plugin/jquery.validate.js" type="text/javascript"></script>
写在最前面,重要的事情说1遍,验证input的时候是用的name不是id
//做一个弹出框
<div style="box-shadow: 0px 0px 15px 0px rgba(0, 0, 0, 0.3)" id="opencounter">
<form id="newform1" onkeydown="if(event.keyCode==13){return false;}">
<div class="operform" style="width:300px;margin:5px;padding:0 5px;">
<div class="subtitle"><label id="label_title1"></label></div>
<div class="fieldcontainer">
<table border="0px">
<tr>
<td><div align="right">专柜编号:</div></td>
<td><input type="text" name="counter" id="counter" autocomplete="off"/>
</td>
</tr>
<tr>
<td><div align="right">专柜名称:</div></td>
<td><div align="center"><input type="text" name="username" id="username" autocomplete="off" /></div>
</td>
</tr>
<tr>
<td colspan="2">
<input type="button" id="tijiao" value="提交" />
<input type="button" id="reset" value="重置" />
</td>
</tr>
</table>
</div>
//创建一个放置错误信息的容器,名为error
<div class="error"></div>
<div id="feetd"></div>
<div class="hiddendiv">
<input type="hidden" name="operflag" id="hidden_operflag" value="AUDIT"/>
<input type="hidden" name="id" id="hidden_id"/>
</div>
<div class="fieldbutton">
</div>
</div>
</form>
</div>
//error样式设置
<style type="text/css">
.error{
color: red;
}
</style>
//弹出框属性设置
$("#opencounter").dialog({
title:"专柜开通",
autoOpen:false,
draggable:true,
modal:true,
width:350,
position: 'top'
});
//自定义规则
//专柜号必须是六位数字
jQuery.validator.addMethod("standard", function(value, element) {
var counter = /^\d{6}$/;
return (counter.test(value));
}, "专柜编号必须是六位数字");
//专柜名称不能为空
jQuery.validator.addMethod("notblank", function(value, element) {
var countername = /^\S{1,}$/;
return (countername.test(value));
}, "专柜名称不能为空");
//每次输入进行验证
$("#counter,#username").keyup(function(event){
$(this).valid();
});
//创建变量validator验证表单
var validator = $("#newform1").validate({
onkeyup:false,
errorLabelContainer: $("#newform1 div.error"), //把错误信息统一放在一个容器里面。
wrapper: "li",
meta: "validate",
rules:{
counter:{
standard: true,
},
username:{
notblank: true,
},
},
});
//点击按钮时判断validator.form(),为true时提交表单
$("#tijiao").click(function(){
if(validator.form()){
$.post("<%=basePath%>modifycounter.htm",
$("#newform1").serialize()
, function(data) {
var a =data[0].desc;
alert(a);
if(data[0].ret == 1){
$("#opencounter").dialog("close");
$("#search").trigger("click");
}
}, "json");
}
});
网友评论