`
zxl_ong
  • 浏览: 128766 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

jquery-validation

    博客分类:
  • js
 
阅读更多
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>

分享到:
评论

相关推荐

    jquery-validation-1.19.1.zip

    《jQuery验证插件jQuery-validation-1.19.1详解》 jQuery-validation是Web开发中常用的客户端表单验证插件,其1.19.1版本的发布为开发者提供了更稳定和高效的服务。该压缩包“jquery-validation-1.19.1.zip”包含了...

    jquery-validation-1.11.1.zip

    《jQuery验证插件详解——基于jquery-validation-1.11.1.zip的探索》 jQuery作为一款广泛使用的JavaScript库,极大地简化了DOM操作,事件处理和动画制作等任务。而`jquery-validation`则是jQuery生态中的一款强大...

    jQuery-validation.rar

    jQuery-validation是一个广泛使用的JavaScript库,专门用于实现网页表单的验证功能。这个插件使得开发者能够轻松地添加各种验证规则,提升用户体验,确保用户在提交表单前输入的数据符合预设的标准。它通过简单的API...

    jQuery-validation-1.14.0 官方源代码(2015.09.13)

    《jQuery-validation-1.14.0:前端验证利器详解》 jQuery-validation 是一个广泛使用的JavaScript库,专门用于实现前端表单验证。1.14.0版本在2015年9月13日发布,它提供了强大的功能,帮助开发者轻松地创建具有...

    jquery-validation-1.8.1里面有很多例子

    《jQuery Validation插件详解——基于jquery-validation-1.8.1实例分析》 在Web开发领域,表单验证是不可或缺的一环,它确保用户输入的数据符合预期格式,从而提高用户体验并减少服务器端处理的压力。jQuery ...

    jquery-validation.zip

    该插件有两个版本出现在压缩包中:`jquery-validation-1.17.0.zip`和`jquery-validation-1.14.0.zip`。这两个版本代表了插件的不同迭代,1.17.0是较新的版本,可能包含更多的优化和新特性,而1.14.0则是一个较旧但...

    表单验证JQ插件jquery-validation.js

    表单验证JQ插件jquery-validation.js

    jquery-validation-1.8.0下载

    本篇文章将围绕"jquery-validation-1.8.0"这一版本进行详细介绍,并探讨其核心功能、使用方法以及常见应用场景。 一、jQuery Validation插件概述 jQuery Validation插件是基于jQuery库的一个扩展,它使得在网页中...

    jQuery-Validation-Engine-master

    在这个例子中,文件名为"jQuery-Validation-Engine-master"。 2. **包含资源**:将下载的压缩包解压后,将`css`目录下的样式文件(如`validationEngine.jquery.css`)和`js`目录下的JavaScript文件(如`jquery....

    jquery-validation插件

    **jQuery Validation 插件详解** jQuery Validation 插件是一款强大且灵活的JavaScript工具,它专为简化HTML表单验证而设计。这个插件基于广泛使用的jQuery库,使得在网页开发中实现用户输入验证变得轻而易举。其...

    jquery-validation-unobtrusive-master

    6. **无侵入式(Unobtrusive)**:提及的"jquery-validation-unobtrusive-master"可能指的是jQuery Validation的无侵入式版本,它与ASP.NET MVC框架结合使用,通过数据注解实现服务器端和客户端验证的一致性。...

    jquery-validation使用

    **jQuery Validation插件详解** jQuery Validation插件是用于在网页表单验证中提供方便、强大的功能的工具。它简化了对用户输入数据的检查,确保数据的完整性和正确性,从而提高了用户体验。这个插件是基于jQuery库...

    jquery-validation输出漂亮验证信息

    jQuery-validation是一个流行的JavaScript库,用于实现客户端表单验证。原生的jQuery-validation在验证失败时,其显示的信息可能并不直观或者不够友好,这可能会对用户的体验产生负面影响。因此,我们需要对其进行...

    jquery1.4.js + jquery-validation.min.js

    《jQuery 1.4.js与jQuery Validation Plugin的深入解析》 在Web开发中,JavaScript库jQuery以其简洁的语法和强大的功能赢得了广泛的认可。本篇将深入探讨jQuery 1.4.js版本及其与jQuery Validation Plugin的结合...

    jquery-validation-1.17.0

    《jQuery Validation插件详解——基于版本1.17.0》 jQuery Validation是Web开发中一个广泛使用的JavaScript库,主要用于表单验证。该插件以其简单易用和强大的功能著称,大大简化了前端数据验证的过程。在本文中,...

    jquery-validation-1.14.0.zip(5.14.1)

    **jQuery Validation 插件详解** jQuery Validation 是一个广泛使用的前端JavaScript库,专为简化HTML表单验证而设计。它提供了一套完整的功能,使开发者能够快速有效地实施表单验证,确保用户输入的数据满足预设的...

    jQuery-validation插件.zip

    jQuery-validation 是一个非常流行的前端JavaScript库,用于在Web表单中进行验证。它极大地简化了对用户输入数据的检查和管理,确保了数据的完整性和安全性。这个插件基于jQuery框架,因此它与jQuery的API无缝集成,...

    jquery-validation-1.15.0

    **jQuery Validation Plugin 1.15.0** jQuery Validation Plugin 是一个广泛使用的开源插件,用于在客户端进行表单验证,提高用户交互体验。版本1.15.0是该插件的一个稳定版本,提供了丰富的功能和改进。 **主要...

Global site tag (gtag.js) - Google Analytics