jquery-validation

register.jsp
<%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>

<%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %>
<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %>
<%@ taglib uri="/struts-tags" prefix="s" %>
<%@ taglib uri="http://struts.apache.org/tags-logic" prefix="logic" %>
<%@ taglib uri="http://struts.apache.org/tags-tiles" prefix="tiles" %>

<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">

<title>用户注册</title>

<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->

<link rel="stylesheet" type="text/css" media="screen" href="style/screen.css" />
<script src="js/jquery-1.4.2.min.js" type="text/javascript"></script>
<script src="js/jquery.validate.js" type="text/javascript"></script>

<script type="text/javascript">
$().ready(function() {
// validate signup form on keyup and submit
$("#register_form").validate({
rules: {
name: {required: true, rangelength: [6, 20],
remote: {url: "user/checkName", type: "post"}},
email: {required: true, email: true},
pwd: {required: true, rangelength: [6, 20] },
rePwd: {required: true, rangelength: [6, 20], equalTo: "#register_form_pwd"},
inputCode: {required: true, equalTo: "#register_form_checkCode"}
},
messages: {
name: {required: "请输入账号", rangelength: "请输入长度在6-20的字母,数字", remote: "用户名已经存在"},
email: "请输入一个有效的email地址",
pwd: {required: "请输入密码", rangelength: "请输入长度在6-20之间的密码"},
rePwd: {
required: "请输入密码",
rangelength: "请输入长度在6-20之间的密码",
equalTo: "请输入和上面一样的密码"
},
inputCode: {required: "请输入验证码", equalTo: "验证码输入错误"}
}
});

//创建验证码
createCode();
//初始化注册按钮
$("#register_form_register").attr("disabled", !$("#register_form_agree_protocol").attr("checked"));

$("#register_form_agree_protocol").click(function() {
$("#register_form_register").attr("disabled", !this.checked);
});
});

//验证码
var code ; //在全局 定义验证码
function createCode(){
code = "";
var codeLength = 4;//验证码的长度
var checkCode = document.getElementById("register_form_checkCode");
checkCode.value = "";

var selectChar = new Array(2,3,4,5,6,7,8,9,'A','B','C','D','E','F','G','H','J','K','L','M','N','P','Q','R','S','T','U','V','W','X','Y','Z');

for(var i=0;i<codeLength;i++) {
var charIndex = Math.floor(Math.random()*32);
code +=selectChar[charIndex];
}
if(code.length != codeLength){
createCode();
}
checkCode.value = code;
}
</script>

<%-- <style type="text/css">
form { width: 500px; }
form label { width: 250px; }
form label.error,
form input.submit { margin-left: 253px; }
</style> --%>

<style type="text/css">
.code{
background-image:url(code.jpg);
font-family:Arial;
font-style:italic;
color:Red;
border:0;
padding:2px 3px;
letter-spacing:3px;
font-weight:bolder;
}
.unchanged {
border:0;
}
</style>
</head>

<body>
<s:form action="/user/register" id="register_form" method="POST">
<h1>${message}</h1>
<s:label>姓名</s:label><s:textfield name="name"/>
<br/>
<s:label>E-mail</s:label><s:textfield name="email"/>
<br/>
<s:label>密码</s:label><s:password name="pwd"/>
<br/>
<s:label>确认密码</s:label><s:password name="rePwd"/>
<br/>
<s:textfield name="inputCode"/>
<s:textfield name="checkCode" class="code" style="width: 55px" readonly="true"/>
<s:a href="#" onclick="createCode(); return false;">看不清楚换一张</s:a>
<br/>
<s:checkbox name="agree_protocol" label="同意校园淘用户协议"/>
<br/>
<s:submit name="register" value="注册" disabled="true"/>
</s:form>
</body>
</html>


action:
package com.freemind.secondhand.action;

import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.InputStream;

import javax.servlet.http.HttpServletResponse;

import org.apache.struts2.ServletActionContext;

import com.freemind.secondhand.user.service.UserService;
import com.opensymphony.xwork2.ActionSupport;

/**
* 用户注册
*
* @author zhangxiaolong
*
*/
public class UserRegisterAction extends ActionSupport{
private static final long serialVersionUID = -7359704415491782394L;

private String name;

private String pwd;

private String rePwd;

private String email;

private UserService userService;

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public String getPwd() {
return pwd;
}

public void setPwd(String pwd) {
this.pwd = pwd;
}

public String getRePwd() {
return rePwd;
}

public void setRePwd(String rePwd) {
this.rePwd = rePwd;
}

public String getEmail() {
return email;
}

public void setEmail(String email) {
this.email = email;
}

public void setUserService(UserService userService) {
this.userService = userService;
}

private InputStream inputStream;

public InputStream getInputStream() {
return inputStream;
}

/**
* 检查用户名是否存在
*
* @return
*/
public String checkName()
{
Boolean isExits = true;
if(userService.checkName(this.name) > 0)
{
//return renderText("false");
isExits = false;
inputStream = new ByteArrayInputStream(isExits.toString().getBytes());
}
else
{
//return renderText("true");
isExits = true;
inputStream = new ByteArrayInputStream(isExits.toString().getBytes());
}

return SUCCESS;
}

/**
* 注册
* @return
*/
public String register()
{
if(userService.register(name, pwd, email) > 0) {
return SUCCESS;
} else {
return ERROR;
}
}

protected String render(String text, String contentType) {
try {
HttpServletResponse response = ServletActionContext.getResponse();
response.setContentType(contentType);
response.getWriter().write(text);
} catch (IOException e) {
}
return null;
}

/**
* 直接输出字符串.
*/
protected String renderText(String text) {
return render(text, "text/plain;charset=UTF-8");
}

}


struts.xml
 <action name="checkName" class="registerDelegate" method="checkName">
<result type="stream">
<param name="contentType">text/plain</param>
<param name="inputName">inputStream</param>
</result>
</action>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值