jquery formValidate demo 采用struts 异步方式检验用户名是否存在
1 login.jsp
<%@taglib uri="/struts-tags" prefix="s"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 4.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<script src="./demo/jquery-1.4.4.min.js" type="text/javascript"></script>
<script src="./demo/formValidator-4.1.1.js" type="text/javascript" charset="UTF-8"></script>
<script src="./demo/formValidatorRegex.js" type="text/javascript" charset="UTF-8"></script>
<script type="text/javascript">
$(document).ready(function() {
$.formValidator.initConfig({
formID : "form1",
theme : "ArrowSolidBox",
submitOnce : true,
onError : function(msg, obj, errorlist) {
$("#errorlist").empty();
$.map(errorlist, function(msg) {
$("#errorlist").append("<li>" + msg + "</li>")
});
alert(msg);
},
ajaxPrompt : '有数据正在异步验证,请稍等...'
});
$("#us").formValidator({
onShowText : "请输入用户名",
onShow : "请输入用户名,只有输入\"111111\"才是对的",
onFocus : "用户名至少5个字符,最多10个字符",
onCorrect : "该用户名可以注册"
}).inputValidator({
min : 5,
max : 10,
onError : "你输入的用户名非法,请确认"
}).ajaxValidator({
dataType : "json",
async : true,
url : "/JqueryFormValidateDemo/user/login.action",
data : {
"username" : function() {
return $("#us").val();
}
},
success : function(data) {
if (data == "yes")
return true;
return data;
},
// buttons : $("#button"),
error : function(jqXHR, textStatus, errorThrown) {
alert("服务器没有返回数据,可能服务器忙,请重试" + errorThrown);
},
onError : "该用户名不可用,请更换用户名",
onWait : "正在对用户名进行合法性校验,请稍候..."
});
$("#password1").formValidator({
onShow : "请输入密码",
onFocus : "至少1个长度",
onCorrect : "密码合法"
}).inputValidator({
min : 1,
empty : {
leftEmpty : false,
rightEmpty : false,
emptyError : "密码两边不能有空符号"
},
onError : "密码不能为空,请确认"
});
});
</script>
</head>
<body>
<form action="" method="post" name="form1" id="form1">
<input type="submit" name="button" id="button" value="提交" /> <br />
<table border="0px" style="font-size:12px" width="730px">
<tr>
<td align="right" width="135px">用户名:</td>
<td width="265px"><input type="text" id="us" name="us"
style="width:120px" value="maodong" />
</td>
<td width="330px"><div id="usTip" style="width:280px"></div>
</td>
</tr>
<tr>
<td align="right">密码:</td>
<td><input type="password" id="password1" name="password1"
style="width:120px" />
</td>
<td><div id="password1Tip" style="width:280px"></div>
</td>
</tr>
<tr>
<td colspan="3"><div id="msTip" style="width:280px"></div>
</td>
</tr>
</table>
</form>
</body>
</html>
2 struts action
package action;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
import org.apache.struts2.ServletActionContext;
import net.sf.json.JSONArray;
import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.Action;
public class LoginAction extends ActionSupport{
private String username;
private String message;
public String execute(){
if(username.equals("111111")){
this.setMessage("yes");
return Action.SUCCESS;
}
this.setMessage("error");
return Action.SUCCESS;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
}
3. struts。xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<package name="user" namespace="/user" extends="json-default">
<action name="login" class="action.LoginAction" >
<result type="json">
<param name="root">message</param>
</result>
</action>
</package>
</struts>
jquery formValidate demo 采用struts 异步方式检验用户名是否存在的更多相关文章
- MVC Ajax Helper或jQuery异步方式加载部分视图
Model: namespace MvcApplication1.Models { public class Team { public string Preletter { get; set; } ...
- 反爬虫:利用ASP.NET MVC的Filter和缓存(入坑出坑) C#中缓存的使用 C#操作redis WPF 控件库——可拖动选项卡的TabControl 【Bootstrap系列】详解Bootstrap-table AutoFac event 和delegate的分别 常见的异步方式async 和 await C# Task用法 c#源码的执行过程
反爬虫:利用ASP.NET MVC的Filter和缓存(入坑出坑) 背景介绍: 为了平衡社区成员的贡献和索取,一起帮引入了帮帮币.当用户积分(帮帮点)达到一定数额之后,就会“掉落”一定数量的“帮帮 ...
- 通过XMLHttpRequest和jQuery实现ajax的几种方式
AJAX大家已经都知道了,是为了实现异步通讯,提高用户体验度,而将很多旧知识(XML,DOM,JavaScript,HTML,Jquery,Css……)重新融合的一个新的知识框架.而,XMLHttpR ...
- jquery的ajax同步和异步
之前一直在写JQUERY代码的时候遇到AJAX加载数据都需要考虑代码运行顺序问题.最近的项目用了到AJAX同步.这个同步的意思是当JS代码加载到当前AJAX的时候会把页面里所有的代码停止加载,页面出去 ...
- jquery.validate+jquery.form提交的三种方式
原文:http://www.cnblogs.com/datoubaba/archive/2012/06/06/2538873.html jquery.validate+jquery.form提交的三种 ...
- JQuery AJAX Demo
JQuery AJAX Demo APP发展集团:347072638(HTML5,APP) 1.先看一个JQuery AJAX Demo HTML端: <!DOCTYPE html PUBLIC ...
- JQuery日记6.5 Javascript异步模式(一)
理解力JQuery前实现异步队列,有必要理解javascript异步模式. Javascript异步其实并不严重格异步感,js使某些片段异步方式在将来运行,流不必等待继续向下进行. 在多线程的语言中最 ...
- 【jQuery】(7)---jQueryAjax同步异步区别
jQueryAjax同步异步 今天在项目开发过程中,要实现这么一个功能 <!-- 当我点击就业的时候,触发onclick时间,check()方法里通过ajax请求返回数据, 如果该用户已经毕业可 ...
- [转] libcurl异步方式使用总结(附流程图)
文为转载,原文地址:libcurl异步方式使用总结 实习期间用到了libcurl来做HTTPS双向认证,用的是异步方式,简单总结一下. libcurl这个库的同步方式很简单,不做介绍,而异步方式很难理 ...
随机推荐
- zoj 2027 Travelling Fee
// 题意 : 一个人要去旅行 给你起点和终点 求最少花费 其中花费为经过路径的总费用减去该路径的中的最大花费段// 直接搜索 稍微加了个剪枝 主要是数据规模小#include <iostrea ...
- Delphi 函数参数修饰中的var 、out和const
(1)var修饰符 添加var 是地址传递,会修改原有的变量 var s: string; begin S := 'Hello'; ChangeSVar(s); ShowMessage(S); e ...
- 关于WCF中间层服务器端DTO属性更新如何同步回仓储实体的处理方式
中间层建立上下文录制对象及录制属性.如下范例: public bool CancelChangeEvent(ClientContext context, Dbs dbs, int encounterI ...
- equals(),hashcode()方法详解
Java中的equals方法和hashCode方法是Object中的,所以每个对象都是有这两个方法的,有时候我们需要实现特定需求,可能要重写这两个方法,今天就来介绍一些这两个方法的作用. equals ...
- 在DataTable 中增加一列
//在这里需要增加一个列. DataColumn column = dt.Columns.Add("行号", Type.GetType("S ...
- C#条件语句、循环语句
一.程序的三种结构 顺序结构 分支结构 循环结构 二.条件语句if 语句是最有用的控制结构之一. if … else …语句的语法: if (布尔表达式)执行操作的语句 或if (布尔表达式)执行操 ...
- XSLT2.0实用的新功能 .(转)
转自:http://blog.csdn.net/crystalbruce/article/details/7407631 2007年1月,W3C发布了XSLT2.0规范,2009年发布了XSLT2.1 ...
- My implementation of AVL tree
C++实现的avl平衡树 #include <stdlib.h> #include <time.h> #include <string.h> #include &l ...
- 纯CSS3实现宽屏二级下拉菜单
今天我们要来分享一款基于纯CSS3的宽屏二级下拉菜单,这款菜单的子菜单在展开的时候是很宽敞的,菜单项中可以自定义格式的内容,非常实用,也很大气.由于是用纯CSS3实现,所以这款下拉菜单不用运行Java ...
- POJ-1002 解题报告
1.题目描述 http://poj.org/problem?id=1002 2.解题过程 按部就班来解题的话,这个题目很容易写出来,这是我的第一个版本的代码,思路是读入一行电话字符串,均转化为整型 ...