zoukankan      html  css  js  c++  java
  • 初学structs2,表单验证简单补充

    一、使用注解方式,跳过验证某个方法

    由于在开发中,我们不需在请求每一个action类中的方法时都要走validate方法,那么我们可以在这些不需要验证的方法上加上@SkipValidation注解即可

    二、不重写Validate方法下,通过使用validate或validateDo前缀来指定类中哪个方法需要进行验证

    如果一个Action类中只有几个方法需要验证,而大部分不需要,那么就可以使用指定哪个方法需要进行验证的方式来做如下两个方法

    public  void  validateSearch(){            

    if(name==null||name.equals("")){

    addFieldError("name","用户名为空");

    }

    }

    public  void  validateDoSearch(){

    if(name==null||name.equals("")){

    addFieldError("name","用户名为空");

    }

    }

    三、通过配置来对Bean属性进行验证(此方法自己试了一次,然后琢磨了一段时间,竟然没有试验成功,基于后期用到的可能性不大就没有继续研究)

    在action类的包下,要与action类同级别,添加xml文件,action类名-validation.xml,action类中也就不用重写validate方法了

    假设action类中有String类型的name和Integer类型的age两个字段,xml文件的内容如下

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE validators PUBLIC
            "-//Apache Struts//XWork Validator Definition 1.0//EN"
            "http://struts.apache.org/dtds/xwork-validator-definition-1.0.dtd">
    <validators>
        <!-- Action中要校验的字段 -->
        <field name="name">
            <!-- 指定校验器 -->
            <field-validator type="requiredstring">
                <!-- 配置校验参数 -->
                <!-- <param name="trim">false</param>是否移除前后空格 -->
                <!-- 校验失败显示信息 -->
                <message>用户名不能为空</message>
            </field-validator>
            <!-- 增加另一个校验器,使用正则校验器
            <field-validator type="regex">
                <param name="regex">^([a-z0-9_.-]+)@([da-z.-]+).([a-z.]{2,6})$</param>
                <message>用户名必须是邮箱</message>
            </field-validator> -->
        </field>
        <!-- 校验年龄字段,整数类型,范围0~120 -->
        <field name="age">
            <!-- 指定校验器 -->
            <field-validator type="int">
                <!-- 配置校验参数 -->
                <param name="min">0</param>
                <param name="max">120</param>
                <message>填写的年龄必须在0~120之间</message>
            </field-validator>
        </field>
    </validators>

    四,通过配置,还可以指定action中的某个方法,来进行校验,基本不用,说起来还啰嗦,就不写了

  • 相关阅读:
    解决一道leetcode算法题的曲折过程及引发的思考
    算法研究:一维多项式求值(秦九韶算法)
    通过HWND获得CWnd指针
    将标题空格替换为 '_' , 并自动复制到剪切板上
    稀疏矩阵操作算法
    微信好友分析之展示好友信息
    微信好友分析之获取好友信息
    爬取当当网的图书信息之结尾
    爬取当当网的图书信息之封装一个工具类
    爬取当当网的图书信息之实体设计
  • 原文地址:https://www.cnblogs.com/hujiapeng/p/4680879.html
Copyright © 2011-2022 走看看