关于jquery的验证框架

主要用到了以下几个文件
1 js文件 jquery.validationEngine.js | jquery.validationEngine-cn.js | jquery.js
2 css文件 validationEngine.jquery.css
3 在需要验证的页面引入以上文件

<%@ page language="java" import="java.util.*,vutc.com.view.ws.ConfigUtil" pageEncoding="UTF-8"%>
<%@taglib uri="/struts-tags" prefix="s"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<META HTTP-EQUIV="pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Cache-Control" CONTENT="no-cache, must-revalidate">
<META HTTP-EQUIV="expires" CONTENT="0">
<link href="css/link.css" rel="stylesheet" type="text/css" />

<script type="text/javascript" src="js/public.js"> </script>
<link rel="stylesheet" href="css/validationEngine.jquery.css" type="text/css" media="screen" title="no title" charset="utf-8" />
<link rel="stylesheet" href="css/template.css" type="text/css" media="screen" title="no title" charset="utf-8" />
<script src="js/jquery-1.4.min.js" type="text/javascript"></script>
<script src="js/jquery.validationEngine-cn.js" type="text/javascript"></script>
<script src="js/jquery.validationEngine.js" type="text/javascript"></script>
<%
response.setHeader("Pragma","No-cache");
response.setHeader("Cache-Control","no-cache");
response.setDateHeader("Expires", -10);
%>
<script>
$(document).ready(function() {
// SUCCESS AJAX CALL, replace "success: false," by: success : function() { callSuccessFunction() },

$("#formID").validationEngine({
showOnMouseOver:true,
validationEventTriggers:"blur", //触发的事件 validationEventTriggers:"keyup blur",
inlineValidation: true,//是否即时验证,false为提交表单时验证,默认true
success : false,//为true 时即使有不符合的也提交表单,false表示只有全部通过验证了才能提交表单,默认false
promptPosition: "topRight",//提示所在的位置,topLeft, topRight, bottomLeft, centerRight, bottomRight
//failure : function() { alert("验证失败,请检查。"); }//验证失败时调用的函数
//success : function() { callSuccessFunction() },//验证通过时调用的函数
})

});



</script>
<script language="javascript">


function saveV(){

if($('#formID').validationEngine({returnIsValid:true})==true){
$.ajax({
type: "POST",
url: "syncTask!addSyncTask.action",
data:$("#form1").serialize(),
success: function(msg){

if(msg==0){
alert("添加成功");
window.location.reload();
}else{
alert("添加失败");
}

}
});
}else{
return false;
}

}
</script>


</head>
<body style="margin-top:0px;" onLoad="settitle();">
<form id="formID" class="formular" method="post" action="">
<input type="hidden" name="loginName" value="${user.info.userName}"/>
<table width="100%" height="768" border="0" background="<%=request.getContextPath() %>/image/01.jpg"><tr><td>
<table width="1024" height="100%" border="0" align="center" cellspacing="0" background="<%=request.getContextPath() %>/image/UI02.jpg">
<tr>
<td width="162" rowspan="5"> </td>
<td height="139"> </td>
<td width="61" rowspan="5"> <jsp:include flush="false" page="rxtitle.jsp"/></td>
</tr>
<tr>
<td width="787" height="63">

<jsp:include flush="false" page="title.jsp"/>
</td>
</tr>
<tr>
<td height="30" align="center" valign="top" style="font-size:12px"><label id="isError" style=color:red>${fileIsReboot }</label>
<div id="saveValue" style=color:red></div>
</td>
</tr>
<tr>
<td height="">
<!-- ----------------- -->
<table height="100%" width="100%" border="0"><tr><td>
<table height="100%" width="500" border="1" align="center" bordercolor="#000000" cellspacing="0" style="border-top:none;border-left:none; border-right:none;border-bottom:none">
<!-- 第一行 -->
<tr><td height="135" style="border-top:none;border-left:none; border-right:none;border-bottom:none">
<div align="center"><strong>数据库同步配置信息</strong></div>
<table width="100%" height="135" border="1" align="center" bordercolor="#000000" cellspacing="0" style="border-top:none;border-left:none; border-right:none;border-bottom:none">
<tr style=font-size:12px>
<td colspan="3" height="10"></td>
</tr>
<tr>
<td colspan="2" height="1"> </td>


</tr>
<tr style=font-size:12px height="10">
<td width="29%" style="border-top:none;border-right:none;"><span style="border-top:none; border-right:none; ">任务标识</span></td>
<td width="71%" style="border-top:none;"><span style="border-top:none; border-right:none;">
[b]<input value="" class="validate[required,custom[noSpecialCaracters],length[0,20],ajax[ajaxUser]]" type="text" name="taskName" id="taskName" />[/b]
</span>
<div id="aa"></div>
</td>
</tr>
<tr style=font-size:12px height="10">
<td width="29%" style="border-top:none;border-right:none;"><span style="border-top:none; border-right:none; ">是否备份</span></td>
<td width="71%" style="border-top:none;"><span style="border-top:none; border-right:none;">
<input type="radio" name="isBackup" value="0" checked="checked">不备份
<input type="radio" name="isBackup" value="1">备份
</span>
</td>
</tr>

<tr style=font-size:12px height="10">
<td width="29%" style="border-top:none;border-right:none;">数据库类型</td>
<td width="71%" style="border-top:none;"><span style="border-top:none; border-right:none;">
<select name="dbType" id="dbType">

<option value="1">MySql</option>
<option value="2">SqlServer</option>
<option value="3">Oracle</option>
<option value="4">DB2</option>
</select>
</span></td>
</tr>
<tr style=font-size:12px height="10">
<td width="29%" style="border-top:none;border-right:none;"><span style="border-top:none; border-right:none;">数据库名称</span></td>
<td width="71%" style="border-top:none;"><input type="text" id="dbName" name="dbName" class="validate[required,custom[noSpecialCaracters],length[0,20]]" value="" size="20"></td>
</tr>
<tr style=font-size:12px height="10">
<td width="29%" style="border-top:none;border-right:none;"><span style="border-top:none; border-right:none;">数据库ip地址</span></td>
<td width="71%" style="border-top:none;"><input type="text" id="dbAddress" name="dbAddress" class="validate[required,custom[ip],length[0,20]]" value="" size="20"></td>
</tr>
<tr style=font-size:12px height="10">
<td width="29%" style="border-top:none;border-right:none;">用户名</td>
<td width="71%" style="border-top:none;"><span style="border-top:none; border-right:none;">
<input type="text" id="dbUser" name="dbUser" class="validate[required,custom[noSpecialCaracters],length[0,20]]" value="" size="20">
</span></td>
</tr>
<tr style=font-size:12px height="10">
<td width="29%" style="border-top:none;border-right:none;">数据库密码</td>
<td width="71%" style="border-top:none;"><span style="border-top:none; border-right:none;">
<input type="text" id="dbPassword" name="dbPassword" class="validate[required,custom[noSpecialCaracters],length[0,20]]" value="" size="20">
</span></td>
</tr>

<tr style=font-size:12px height="10">
<td colspan="3" align="center" style=" border-left:none; border-right:none;border-bottom:none">
<input type="button" value="添 加" onclick="saveV()"/> </td></tr>
</table>
</td></tr>

</table>

</td></tr></table>
<!-- -------------------- -->
</td>
</tr>
<tr>
<td height="91"> </td>
</tr>
</table>
</td></tr></table>
</form>

</body>
</html>

注意 上面有部分粗体标示的地方 是用来验证用户名是否重复的(这里折腾了好久才出来)
在 jquery.validationEngine-cn.js中有这样一段

"ajaxUser":{
"file":"[i]syncTask!val.action[/i]",
"alertTextOk":"* 帐号可以使用.",
"alertTextLoad":"* 检查中, 请稍后...",
"alertText":"* 帐号不能使用."},

上面斜体部分是你的action 或servlet 都可以
下面是比较重要的你后台返回的东西了

public void val(){
this.getResponse().setContentType( "text/html;charset=utf-8" );
try {
PrintWriter out=this.getResponse().getWriter();
ActionContext ac = ActionContext.getContext();

HttpServletRequest request = (HttpServletRequest) ac.get(ServletActionContext.HTTP_REQUEST);

String validateId = request.getParameter("validateId"); //获取插件post参数validateId


String validateValue = request.getParameter("validateValue"); //获取插件post参数validateValue

String validateError = request.getParameter("validateError"); //获取插件post参数validateError


boolean flags = this.iFacadeSyncTask.valdateTaskName(validateValue);
String message = "";

if(flags){

[b]out.println("{'jsonValidateReturn':['"+validateId+"','"+validateError+"','false']}");[/b]
}else{
[b]out.println("{'jsonValidateReturn':['"+validateId+"','"+validateError+"','true']}");[/b]
}
}catch(Exception e){
e.printStackTrace();
}

}

上面加粗的地方就是前台页面需要的东东
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值