您的位置:首页 > 编程语言 > Java开发

struts2中的手动验证

2012-06-23 18:04 232 查看
private User user;
/**
* struts手动验证
* @return
*/
public User getUser() {
return user;
}
public void setUser(User user) {
this.user = user;
}
/**
* 重写validate()方法,如果只有这个action类只有一个方法,可以把验证代码放到这里。
* 但是如果有多个方法。可以把这些方法中公共的验证放在validate()方法中
* 每个类特有的验证代码可以使用validate*()的方法,*表示方法名。如login方法,可以使用validateLogin()方法首字母大写。
*/
@Override
public void validate() {//公共的验证方法
if(user.getUsername()==null||user.getUsername().trim().equals("")){
//this.addActionError("")action错误级别。数据库操作错误的时候。
//this.addActionMessage("") 消息
this.addFieldError("user.username","密码不能为空!");//属性级别。第一个参数是文本框中的name中的名字。第二个是提示语句。
//this.addFieldError("user.username",this.getText("login_username_null"));//添加属性的错误,也可以用国际化获取
}else if(!java.util.regex.Pattern.matches("^[a-zA-Z][a-zA-Z0-9]{3,14}$", user.getUsername())){//正规表达式验证,要加!。
this.addFieldError("user.username","用户名必须以字母开头,字母和数字下划线,4到14位组成");
//this.addFieldError("user.username", this.getText("login_username_reg"));
}

if(user.getPassword()==null||user.getUsername().equals("")){
this.addFieldError("user.password","密码不能为空!");
//this.addFieldError("user.password", this.getText("login_password_null"));
}else if(!java.util.regex.Pattern.matches("^[a-zA-Z0-9@#$]{6,14}$", user.getPassword())){
this.addFieldError("user.password","密码必须以字母开头,字母和数字下划线,6到14位组成!");
//this.addFieldError("user.password", this.getText("login_password_reg"));
}

System.out.println("validate调用");
}

public void validateRegister() {//注册验证方法调用
System.out.println("validate注册验证方法调用");
if(!user.getRegPwd().equals(user.getPassword())){//判读确认密码
this.addFieldError("user.regPwd", "密码不一致!");
}
if(!java.util.regex.Pattern.matches("^[0-9]{1,3}$", user.getAge()+"")){//判读年龄
this.addFieldError("user.age", "年龄必须由数字组成!1到3位");
}else if(user.getAge()<18||user.getAge()>120){
this.addFieldError("user.age", "年龄必须由18到120位");
}
}

public void validateLogin() {//登录验证方法调用
System.out.println("validate登录验证方法调用");
}

public String login(){//登录方法
System.out.println("登录方法执行");
if(this.hasFieldErrors()){//判读是否存在filedError错误
return INPUT;
}
return SUCCESS;
}

public String register(){//注册方法
System.out.println("注册方法执行");
if(this.hasFieldErrors()){//判读是否存在filedError错误
return INPUT;
}
return SUCCESS;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: