struts2_validate表单验证

使用代码实现 验证功能 (也就是重写ActionSupport中的validate()方法) 在validate方法中进行编写我们需要的验证功能 这里需要提几点的就是:

1.当我们需要对action中的某一个指定的方法使用validate()方法验证时我们需要自定义一个validate

2.当我们使用自定义的validate方法时,最好将重写的ActionSupport的validate方法去掉 (这是为了避免

引起冲突,因为如果action类中存在重写的validate()方法 程序会自动调用我们自定义的validate方法 之

后再调用它 这样就验证了多次,非常不利于程序的效率。而且容易出现冲突)

3.在创建自定义的validate方法时需要注意该方法的 方法名! 该方法名由 validate+对应的表单提交的

action中的 执行方法名称(首字母大写)

validateXXX或者validate方法在执行execute()方法之前执行,如果不能通过验证会返回struts.xml中相应action中<result name="input">xxxxxxx</result>的页面。

在validate函数中可以是指错误信息:

public void validateLogin() {
        //用户名不能为空
        System.out.println("validatelogin!");
        if("".equals(s.getUsername().trim())){
            this.addFieldError("usernameError", "用户名不能为空");
        }
        if("".equals(s.getPassword().trim())){
            this.addFieldError("passwordError", "密码不能为空");
        }else if(s.getPassword().length()<6){
            this.addFieldError("passwordError", "密码长度不少于6位");
        }
    }

在返回的页面中可以显示:

<div>
    <s:fielderror/>
</div>
原文地址:https://www.cnblogs.com/jasonlixuetao/p/5933808.html