代码改变世界

Struts2输入校验

2013-02-13 21:12  Lves Li  阅读(208)  评论(0编辑  收藏  举报

类型转换输入校验执行流程:

1)首先执行类型转换

2)然后执行输入校验

3)如果以上任一项出现错误将不执行excute方法。直接跳转到本action对相应的名为input的result页面

 

action:

 

@Override
	public void validate() {
	//姓名校验
		if (null==username||username.length()<3||username.length()>10){
			this.addActionError(" username invalid");
			this.addFieldError("username", "username invalid in field!");
		}
		//密码校验
		if (null==password||password.length()<3||password.length()>6){
			this.addActionError("password invalid!!");
		}else if (repassword==null||repassword.length()<3||repassword.length()>6){
			
			this.addActionError("repassword invalid!!");	
		}
		else if (!password.equals(repassword)){
			this.addActionError("The passwords not same!!");
		}
		//年龄校验
		if(age<10||age>60){
			this.addActionError("age invalid");
			
		}
		//出生日期校验
		if (null==birthday){
			this.addActionError("birthday invalid!!");
		}
		//毕业日期校验
		if(null==graduate){
			this.addActionError("graduate invalid!!");
		}
		//如果出生日期在毕业之前
		if (birthday!=null&&graduate!=null){
			Calendar c1=Calendar.getInstance();
			c1.setTime(birthday);
			Calendar c2=Calendar.getInstance();
			c2.setTime(graduate);
			if (c1.after(c2)){
				this.addActionError("Birthday not befor graduate!!");
			}
		}
		

struts标签库:

<s:actionerror cssStyle="color=red"/>
  ``````````````````````````````````````
  <s:fielderror cssStyle="color=blue"></s:fielderror>

 <s:form action="register.action" theme="simple">
    	姓名:<s:textfield name="username" label="username"></s:textfield><br>
    	密码:<s:password name="password" label="password"></s:password><br>
    	重置密码:<s:password name="repassword" label="repassword"></s:password><br>
    	年龄:<s:textfield name="age" label="age"></s:textfield><br>
    	出生日期:<s:textfield name="birthday" label="birthday"></s:textfield><br>
    	毕业日期:<s:textfield name="graduate" label="graduate"></s:textfield><br>
    	<s:submit value="提交"></s:submit>
    
    </s:form>