java_struts2手工编写代码实现对Action中的输入数据校验
通过重写validate()方法实现,validate()方法会对Action中与execute相同签名的所有方法进行校验,当某个数据没有通过校验时,我们应该调用addFildError()方法往系统的FileError添加校验失败信息(为了使用addFiled()方法,Action可以继承ActionSupport类),如果系统的FileError包含了校验失败的信息,struts2会自动请求转发到名为input的视图(result视图)。在input视图可以通过struts2的标签<s:fielderror />显示校验失败信息。
例子:
public void validate() {
if(!Pattern.compile("^\\w{6,10}$").matcher(this.user.getUserName()).matches()){
this.addFieldError("userName", "用户名必须为6到10为的字母或数字或下划线!");
}
}
如果想对Action中指定的方法校验,则校验方法的名称validateXxxx(),其他的与上面说的差不多
例子:对象addUser()方法校验,校验方法名为
public void validateAddUser() {
if(!Pattern.compile("^\\w{6,10}$").matcher(this.user.getUserName()).matches()){
this.addFieldError("userName", "用户名必须为6到10为的字母或数字或下划线!");
}
}