Struts2输入校验--校验器

  最近在学习Struts2,今天学习了其内置校验器,将其记录下来,做个笔记。

  校验分为前台校验和后台校验,这里主要是前台校验。

校验器配置风格

1、字段校验器配置格式
 1 <!-- 字段校验器配置风格 -->
 2 <validators>
 3     <field name="被校验的字段">
 4         <field-validator type="校验器类型名">
 5             <param name="参数名">参数值</param>
 6             <param name="参数名2">参数值2</param>
 7             <message>验证失败时的提示信息</message>
 8         </field-validator>
 9     </field>
10 </validators>

 

2、非字段校验配置风格
 1 <!-- 非字段校验器配置风格 -->
 2 <validators>
 3     <validator type="校验器类型名">
 4         <param name="fieldName">
 5             需要被校验的字段
 6         </param>
 7         <param name="参数名">参数值</param>
 8         <param name="参数名2">参数值2</param>
 9         <message>验证失败时的提示信息</message>
10     </validator>
11 </validators>

 

Struts2框架的校验器

  1 <validators>
  2     <!-- 必填校验器 -->
  3     <!-- 字段风格 -->
  4     <field name="userName">
  5         <field-validator type="required">
  6             <message>没有用户名信息:userName为null</message>
  7         </field-validator>
  8     </field>
  9     <!-- 非字段风格 -->
 10     <validator type="required">
 11         <param name="fieldName">userName</param>
 12         <message>没有用户名信息:userName为null</message>
 13     </validator>
 14     
 15     <!-- 必填字符串校验器 -->
 16     <field name="userName">
 17         <field-validator type="requiredstring">
 18             <param name="trim">true</param>
 19             <message>用户名不能为空!</message>
 20         </field-validator>
 21     </field>
 22     
 23     <!-- 字符串长度校验器 -->
 24     <field name="userName">
 25         <field-validator type="stringlength">
 26             <param name="maxLength">20</param>
 27             <param name="minLength">4</param>
 28             <message>姓名长度${minLength}到${maxLength}之间</message>
 29         </field-validator>
 30     </field>
 31     
 32     <!-- 整数校验器 -->
 33     <field name="userAge">
 34         <field-validator type="int">
 35             <param name="min">18</param>
 36             <param name="max">50</param>
 37             <message>年龄必须在${min}到${max}之间</message>
 38         </field-validator>
 39     </field>
 40     
 41     <!-- 类型转换校验器 -->
 42     <!-- 字段校验配置 -->
 43     <field name="userAge">
 44         <field-validator type="conversion">
 45             <message>年龄只能为整数形式,不能为字符串类型</message>
 46         </field-validator>
 47     </field>
 48     <!-- 非字段校验配置风格 -->
 49     <validator type="conversion">
 50         <param name="fieldName">userAge</param>
 51         <param name="repopulateField">true</param>
 52         <message>年龄只能为整数形式,不能为字符串类型</message>
 53     </validator>
 54     
 55     <!-- 日期校验器 -->
 56     <field name="birthdate">
 57         <field-validator type="date">
 58             <param name="max">2008-01-01</param>
 59             <param name="min">1900-01-01</param>
 60             <message>生日在${min}到${max}之间</message>
 61         </field-validator>
 62     </field>
 63     
 64     <!-- 浮点数值校验器 -->
 65     <field name="bookprice">
 66         <field-validator type="double">
 67             <param name="minInclusive">30.0</param>
 68             <param name="maxInclusive">100.0</param>
 69             <message>书的价格在${minInclusive}到${maxInclusive}之间</message>
 70         </field-validator>
 71     </field>
 72     
 73     <!-- 邮件地址校验器 -->
 74     <field name="email">
 75         <field-validator type="email">
 76             <message>邮箱地址格式输入有误</message>
 77         </field-validator>
 78     </field>
 79     
 80     <!-- 网址校验器 -->
 81     <field name="myurl">
 82         <field-validator type="url">
 83             <message>不是有效的URL地址</message>
 84         </field-validator>
 85     </field>
 86     
 87     <!-- 表达式校验器 -->
 88     <validator type="expression">
 89         <param name="">cba gt abc</param>    <!-- 返回类型为Boolean类型 -->
 90         <message>cba不大于abc</message>
 91     </validator>
 92     
 93     <!-- 字段表达式校验器 -->
 94     <!-- 字段风格 -->
 95     <field name="pass">
 96         <field-validator type="fieldexpression">
 97             <param name="expression"><![CDATA[(pass==rpass)]]></param>
 98             <message>两次输入的密码不一致</message>
 99         </field-validator>
100     </field>
101     <!-- 非字段风格 -->
102     <validator type="expression">
103         <param name="expression">max1 > min1</param>
104         <message>max1必须大于min1</message>
105     </validator>
106     
107     <!-- 正则表达式验证器 -->
108     <field name="mycode">
109         <field-validator type="regex">
110             <!-- 2.3.15版用regexExpression -->
111             <param name="expression">
112                 <![CDATA[[0-9]\d{5}(?!\d)]]>
113             </param>
114             <message>不是有效的邮政编码</message>
115         </field-validator>
116     </field>
117     
118     <!-- visitor校验器 -->
119     <!-- 用于校验action中定义的符合类型属性,支持数组类型、简单的符合类型、Map和List等集合类型 -->
120     <field name="user">
121         <field-validator type="visitor">
122             <!-- 校验器引用的上下文名称,可选 -->
123             <param name="context">userInfo</param>
124             <!-- 为字段校验信息添加前缀内容,可选 -->
125             <param name="appendPrefix">true</param>
126             <message>用户名信息校验</message>
127         </field-validator>
128     </field>
129     
130 </validators>

 

你可能感兴趣的:(Struts2输入校验--校验器)