手工编写代码实现对action中所有方法输入校验

通过重写validate() 方法实现, validate()方法会校验action中所有与execute方法签名相同的方法。当某个数据校验失败时,我们应该调用addFieldError()方法往系统的fieldErrors添加校验失败信息(为了使用addFieldError()方法,action可以继承ActionSupport ),如果系统的fieldErrors包含失败信息,struts2会将请求转发到名为input的result。在input视图中可以通过<s:fielderror/>显示失败信息。

validate()使用例子:

 
@Override
public void validate() {//会对action中所有方法校验
//super.validate();
if(this.username==null || "".equals(this.username.trim())){
this.addFieldError("username", "用户名不能为空");
}
if(this.mobile==null || "".equals(this.mobile.trim())){
this.addFieldError("mobile", "手机号不能为空");
}else{
if(!Pattern.compile("^1[358]\\d{9}$").matcher(this.mobile).matches()){
this.addFieldError("mobile", "手机号格式不正确");
}
}
}
验证失败后,请求转发至input视图:
<result name="input">/WEB-INF/page/addUser.jsp</result>
 
addUser.jsp页面中使用<s:fielderror/>显示失败信息。
 

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-07-06
  • 2022-02-09
  • 2022-12-23
  • 2022-12-23
  • 2021-08-09
  • 2021-07-08
猜你喜欢
  • 2021-06-23
  • 2022-01-12
  • 2022-02-16
  • 2021-09-14
  • 2021-04-25
  • 2022-12-23
  • 2022-03-05
相关资源
相似解决方案