jquery.validate没有验证通过就去后台了

stevenjin 2018-08-31 03:28:45
下面是对两个文本框的验证,在MVC里是正常的。没有验证通过,到不了后台。
但放到WebForm里面,虽然会有提示,但还是进了后台去了,非常奇怪!!!


1.前台:
<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
<script src="Scripts/jquery-1.10.2.min.js"></script>
<script src="Scripts/jquery.validate.js"></script>
<script>
//编辑标签
function edit_info() {
debugger
$.ajax({
type: "POST",
async: false,
url: "WebForm1.aspx/EditLabel",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (result, status) {
debugger
if (status == "success") {
if (result.d >= 0) {
alert("添加成功");
window.location = "WebForm1.aspx"
}
else {
alert("添加失败");
}
}
},
error: function (err) {
alert("操作失败!");
}
})

}
</script>
</head>
<body>
<form id="form1" runat="server">
<div class="modal-body">
<div class="row">
<div class="col-md-12">
<div class="form-horizontal" role="form">
<div class="form-group">
<label class="col-md-2 control-label"> ID:</label>
<div class="col-md-8"><label id="txtLabelID" class="control-label"></label></div>
</div>
<div class="form-group">
<label class="control-label col-md-2"> 款号:</label>
<div class="col-md-8"><input type="text" id="txtModel" class="form-control" name="txtModel" /></div>
</div>
<div class="form-group">
<label class="control-label col-md-2"> 标签:</label>
<div class="col-md-8"><input type="text" id="txtLabel" class="form-control" name="txtLabel" /></div>
</div>
</div>
</div>
</div>

<input type="submit" onclick="edit_info()" id="act" value="add" name="act" />
</div>
</form>

<script>
$("#form1").validate({
rules: {
txtModel: {
required: true,
rangelength: [2, 10]
},
txtLabel: {
required: true,
rangelength: [2, 10]
}
},
messages: {
txtModel:
{
required: "*必须输入款式",
rangelength: "长度2-10之间的汉字或字母"
},
txtLabel: {
required: "*必须输入标签",
rangelength: "长度2-10之间的汉字或字母"
},

}
})
</script>
</body>
</html>


2.后台
 [WebMethod]
public static void EditLabel()
{

}
...全文
483 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
Logerlink 2018-09-03
  • 打赏
  • 举报
回复
稍微修改了一下源码
修改提交按钮

<!--<input type="submit" onclick="edit_info()" id="act" value="add" name="act" />-->
<input type="submit" id="act" value="add" name="act" />

修改验证表单提交的调用方式(位置)

<script>
$("#form1").validate({
rules: {
txtModel: {
required: true,
rangelength: [2, 10]
},
txtLabel: {
required: true,
rangelength: [2, 10]
}
},
messages: {
txtModel: {
required: "*必须输入款式",
rangelength: "长度2-10之间的汉字或字母"
},
txtLabel: {
required: "*必须输入标签",
rangelength: "长度2-10之间的汉字或字母"
},

},
submitHandler: function(form) {
//此处为表单验证通过后 才出发表单提交事件
edit_info();
}
})
</script>

附上教程:http://www.runoob.com/jquery/jquery-plugin-validate.html 中的 用其他方式替代默认的 SUBMIT
Hello World, 2018-08-31
  • 打赏
  • 举报
回复
MVC默认的form提交,会触发submit事件,你这是手工做了AJAX提交,form事件不会触发的
stevenjin 2018-08-31
  • 打赏
  • 举报
回复
怎么判断?
为什么MVC项目中没有判断的动作,如果没有通过前端验证就去不了后台?
stevenjin 2018-08-31
  • 打赏
  • 举报
回复
就二个控件啊,大哥
Hello World, 2018-08-31
  • 打赏
  • 举报
回复
jquery.validate.js会检测,但不会自动阻止提交,你在提交前需要判断一次
快乐起航2020 2018-08-31
  • 打赏
  • 举报
回复
控件注释掉,逐个调试吧,不要一下子都弄出来

62,041

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧