jQuery Validation Engine 表单提交时,不验证ajax的问题

本文介绍如何在表单提交时,确保AJAX提交的数据也经过验证,以实现更完整的数据验证流程。通过展示具体代码实现,帮助开发者解决在处理AJAX提交时的验证问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近有个项目用了 jQuery Validation Engine,发现在表单提交时,不验证ajax提交的项目,例如:验证码,就直接提交了。

解决如下例:

表单:vali.jsp

<%@ page language="java" contentType="text/html; charset=GB18030"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=charset=GB18030">
<title>Insert title here</title>
<link rel="stylesheet" href="/cti_test/css/validationEngine.jquery.css"
	type="text/css" />
<script src="/cti_test/js/jquery-1.7.js" type="text/javascript"></script>
<script src="/cti_test/js/jquery.validationEngine-zh_CN.js"
	type="text/javascript"></script>
<script src="/cti_test/js/jquery.validationEngine.js" type="text/javascript"></script>
<script>  
function ajaxValidationCallback(status, form, json, options){
	if (console) 
	console.log(status);
	
	if (status == true){
		if (json[1] === true) {
			alert("表单验证成功!");
		}
		else{
			alert("表单验证失败!");
		}
	}
	else{
		alert("ajax验证程序错误");
	}
}
   
jQuery(document).ready(function(){
	jQuery("#form").validationEngine({
		ajaxFormValidation: true, 
		onAjaxFormComplete: ajaxValidationCallback,
		ajaxFormValidationURL : "ajax_test.jsp" 
	});
});
</script>
</head>
<body>
<br>
<br>
<br>
<br>

	<form id="form"  method="post" action="1.html">
		<input type="text" name="code" id="code" class="validate[required, ajax[ajaxTest]]" />
		<input type="text" name="user" id="user1" class="validate[required]"/>
		<input  type="submit" />
	</form>	
</body>
</html>

ajax校验程序:ajax_test.jsp

<%
String code = "";
String fieldValue = "";
String value = ""; 

code = request.getParameter("code") == null ? "" : request.getParameter("code");
fieldValue = request.getParameter("fieldValue") == null ? "" : request.getParameter("fieldValue");

if (!code.equals("")){
	value = code;
}
else if (!fieldValue.equals("")){
	value = fieldValue;
}

if (value.equals("")){
	out.println("[\"code\",false]");
}
else if (value.equals("abc")){
	out.println("[\"code\",true]");
}
else{
	out.println("[\"code\",false]");
}
%>



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值