struts2中的手动验证

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; }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值