自定义formbean验证框架

判断注册用formbean

RegisterFormBean.java

package com.formbean;

import java.util.HashMap;
import java.util.Map;

/**
 * 自定义formbean验证框架
 * 验证注册输入无误
 * @author HouYong
 *
 */
public class RegisterFormBean {
	private String username;
	private String password;
	private String password1;	//重复密码
	private String email;
	
	private Map<String, String> errorMap = new HashMap<String, String>();
	
	public String getUsername() {
		return username;
	}
	public void setUsername(String username) {
		this.username = username;
	}
	public String getPassword() {
		return password;
	}
	public void setPassword(String password) {
		this.password = password;
	}
	public String getPassword1() {
		return password1;
	}
	public void setPassword1(String password1) {
		this.password1 = password1;
	}
	public String getEmail() {
		return email;
	}
	public void setEmail(String email) {
		this.email = email;
	}
	public Map<String, String> getErrorMap() {
		return errorMap;
	}
	public void setErrorMap(Map<String, String> errorMap) {
		this.errorMap = errorMap;
	}
	
	public boolean registerVerify()
	{
		//判断用户名输入框
		if(username==null || "".equals(username.trim()))
		{
			errorMap.put("username", "用户名不能为空");
		}else if(!username.matches("[a-zA-Z]{3,8}"))
		{
			errorMap.put("username", "用户名必须是3~8位的字母");
		}
		
		//判断密码输入框
		if(password==null || "".equals(password.trim()))
		{
			errorMap.put("password", "密码不能为空");
		}else if(!password.matches("[0-9a-zA-Z]{3,16}"))
		{
			errorMap.put("password", "密码必须是3-16位数字或字母");
		}
		
		//两次密码比较
		if(!password.equals(password1))
		{
			errorMap.put("password1", "前后两次密码不一样");
		}
		
		//验证邮箱,有些复杂
		if(email==null || "".equals(email.trim()))
		{
			errorMap.put("email", "邮箱不能为空");
		}
		else if(!email.matches("\\w+@\\w+(.\\w+)+"))
		{
			errorMap.put("email", "请输入正确的邮箱");
		}
		return errorMap.isEmpty();
	}
}

因此在servlet中有如下部分代码:

ServletPage.java

/**
 * 注册新的数据项
 */
if(parameter.equals("register"))
{
	String username = request.getParameter("username");
	String password = request.getParameter("password");
	String password1 = request.getParameter("password1");
	String email = request.getParameter("email");
	
	RegisterFormBean formBean = new RegisterFormBean();
	formBean.setUsername(username);
	formBean.setPassword(password);
	formBean.setPassword1(password1);
	formBean.setEmail(email);
	
	if(!formBean.registerVerify())
	{
		request.setAttribute("registerFormBean", formBean);
		request.getRequestDispatcher("register.jsp").forward(request, response);
	}
	else 
	{
		Users users = new Users();
		users.setUsername(username);
		users.setPassword(password);
		users.setEmail(email);
		
		IUserBizImpl impl = new IUserBizImpl();
		if(impl.insertUser(users))
		{
			out.println("注册成功");
		}
		else {
			out.println("注册失败");
		}
	}					
}		

对应jsp部分代码:

register.jsp

<body>
	注册界面. <br>

	<form action="ServPge?parameter=register" method="post" >
	名字:<input type="text" name="username"  />
	<%    	
	if(request.getAttribute("registerFormBean")!=null)
	{
	if(!"".equals(((RegisterFormBean)request.getAttribute("registerFormBean")).getErrorMap().get("username")))
	{
		out.print(((RegisterFormBean)request.getAttribute("registerFormBean")).getErrorMap().get("username") );
	}
	else
	{
			out.print(" ");
	}
	}
	%>    	
	<br>

	密码:<input type="text" name="password" />
	<%    	
	if(request.getAttribute("registerFormBean")!=null)
	{
	if( !"".equals(((RegisterFormBean)request.getAttribute("registerFormBean")).getErrorMap().get("password")))
	{
		out.print( ((RegisterFormBean)request.getAttribute("registerFormBean")).getErrorMap().get("password") );
	}
	else
	{
		out.print(" ");
	}
	}
	%>    	
	<br>

	确认:<input type="text" name="password1" />
	<%    	
	if(request.getAttribute("registerFormBean")!=null)
	{
	if( !"".equals(((RegisterFormBean)request.getAttribute("registerFormBean")).getErrorMap().get("password1")))
	{
		out.print( ((RegisterFormBean)request.getAttribute("registerFormBean")).getErrorMap().get("password1") );
	}
	else
	{
		out.print(" ");
	}
	}
	%>    	
	<br>

	邮箱:<input type="text" name="email" />
	<%    	
	if(request.getAttribute("registerFormBean")!=null)
	{
	if( !"".equals(((RegisterFormBean)request.getAttribute("registerFormBean")).getErrorMap().get("email")))
	{
		out.print( ((RegisterFormBean)request.getAttribute("registerFormBean")).getErrorMap().get("email") );
	}
	else
	{
		out.print(" ");
	}
	}
	%>    	
	<br>


	<input type="submit" value="注册"  />
	</form>


	</body>







  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值