zoukankan      html  css  js  c++  java
  • struts2验证框架

    Struts的验证框架

    一、字段验证器
    1.简单的用户输入验证,在接收数据的Action同一个包下,创建一个***-validation.xml
    文件,然后对验证规则进行配置示例:

    <!DOCTYPE validators PUBLIC
            "-//Apache Struts//XWork Validator 1.0.2//EN"
            "http://struts.apache.org/dtds/xwork-validator-1.0.2.dtd">
    
    <validators>
        <field name="user.account">
        <field-validator type="requiredstring">
            <message>请输入账号</message> <!--返回的错误提示的消息 -->
        </field-validator>
        </field>
    </validators>
    示例讲解:
    <validators>
        <validator type="int">
        <param name="fieldName">user.age</param>
        <param name="min">18</param>
        <message>年龄必须在18岁以上,您输入的是${user.age}</message>
        </validator>
    <validators>

    ①<validators>元素仍然作为整个验证文件的根元素
    ②<validators>的子元素就是字段验证器<validator>元素的type属性就是这个字段验证器
    使用的验证器
    ③<validator>元素作为字段验证器使用时,一定要出现一个name属性为fieldName的<param>
    子元素,用以指明验证哪个字段
    ④<validator>元素的<messahe>子元素用来设置验证错误是返回的信息。在<message>元素中
    写出的文本将直接作为错误信息返回,如果<message>元素存在key属性,它将引用国际化信息

    在返回错误信息的界面使用<s:fielderror/>来输出提示信息

    二、动作验证器

    示例如下:

    <validator type="expression">
      <param name="expression"><![CDATA[user.age >= user.account]]></param>
      <message>年龄必须在${user.account}岁以上,您输入的是${user.age}</message>
      </validator>

    ①<validators>元素仍然作为整个验证文件的根元素
    ②<validators>元素的<validator>子元素就是动作验证器。其中type属性为expression,
    引用了内置的表达式验证器,这个验证器需要一个name属性为expression的<param>子元素为其
    指定表达式
    ③<validator>元素的<messahe>子元素用来设置验证错误是返回的信息。在<message>元素中
    写出的文本将直接作为错误信息返回,如果<message>元素存在key属性,它将引用国际化信息

    在返回错误信息的界面使用<s:actionerror/>来输出提示信息

    三、内建验证器

    ①类型转换错误验证器(conversion)
    conversion验证器用来验证转换类型是否出错,如果一个类型为int的
    参数接收到“19a”这个字串,报错

    ②整数验证器(int)(短整数验证器(short)和长整数验证器(long)用法相似)
    int验证器用来验证一个整数参数是否在指定的范围内。
    int验证器可以有两个参数
    min用来指定可接收范围的最小值
    max用来指定可接收范围的最大值
    ③日期验证器(date)
    date验证器用来验证一个日期型参数是否在指定的范围内。
    date验证器可以有两个参数
    min用来指定可接收范围的最小值
    max用来指定可接收范围的最大值
    ④双精度浮点验证器(double)
    double验证器用来验证一个双精度浮点型参数是否在指定的范围内。
    double验证器可以有4个参数:
    minInclusive用来指定课接收范围的最小值,包含给定值
    masInclusive用来指定课接收范围的最大值,包含给定值
    minExclusive用来指定课接收范围的最小值,不包含给定值
    minExclusive用来指定课接收范围的最大值,不包含给定值
    ⑤邮箱验证器(E-mail)
    e-mail验证器用来验证一个参数是否为邮箱地址
    ⑥URL验证器
    URL验证器用来验证一个参数是否为合法的URL
    ⑦必填验证器(required)
    required验证器用来验证一个参数是否不为null
    ⑧必填字符串验证器(requiredstring)
    requiredstring验证器用来验证一个字符串参数是否为空,且长度大于0
    requiredstring验证器只有一个参数:
    trim:是否去掉字符串两边的空白,默认为true
    ⑨字符串长度验证器(stringlength)
    stringlength验证器有3个参数
    maxLength:字符串长度的最大值
    minLength:字符串长度的最小值
    trim:是否去掉字符串两边的空白,默认为true
    ⑩正则表达式验证器(regex)
    regex验证器用来验证一个字符串是否符合一个正则表达式的要求
    regex验证器有3个参数:
    expression:必填参数,正则表达式。
    caseSensitive:是否检查大小写。
    trim:是否去掉字符串两边的空白,默认为true

  • 相关阅读:
    Eclipse无法导入一些相关类的方法,出现Multiple markers at this line
    查看共享命令
    eclipse历史版本的下载地址
    MyEclipse的快捷键
    Hibernate的隔离级别
    eclipse插件下载地址
    UML类图几种关系的总结
    Oracle正则表达式函数:regexp_like、regexp_substr、regexp_instr、regexp_replace
    回滚段的学习
    Oracle 字符集的查看和修改
  • 原文地址:https://www.cnblogs.com/qingcong/p/5860602.html
Copyright © 2011-2022 走看看