struts2_validate表单验证

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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>

 

以上是关于struts2_validate表单验证的主要内容,如果未能解决你的问题,请参考以下文章

Symfony 表单验证:如果另一个字段不为空,则需要字段

原生JavaScript判断是否为邮箱危险字符验证长度验证网址验证小数整数浮点数等常用的验证

ajaxFileUpload上传带参数文件及JS验证文件大小

AngularJS

JS表单验证代码

课题实践总结