struts2 validation.xml 验证规则代码解析

作者:yongche_shi 时间:2021-09-14 22:01:27 

当使用struts2的validation.xml进行验证时,需要注意如下几个方面:

I.首先应该注意validation.xml的名字,一定要以Action的类名加“-validation.xml”作为文件名。入LoginAction-validation.xml。

II.LoginAction-validation.xml文件必须与Action类放在相同的目录下。

III.validation.xml文件中的<field-validator type="">标签的type属性,必须与VO中定义的属性的数据类型相同。

IV.在struts.xml文件中的<action>标签中,必须包含<result name="input">和<result name="success" >,否则会报找不到页(404)。

V.一段示例validation.xml代码:


<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE validators PUBLIC
"-//OpenSymphony Group//XWork Validator 1.0.2//EN"
"http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd">
<validators>
<field name="user.strUsername">
 <!-- 验证字符串不能为空 -->
 <field-validator type="requiredstring">
 <!-- 去空格 -->
 <param name="trim">true</param>
 <!-- 错误提示信息 -->
 <message>用户名不能为空</message>
 </field-validator>

<!-- 验证字符串长度 -->
 <field-validator type="stringlength">
 <param name="minLength">2</param>
 <param name="maxLength">20</param>
 <message>用户名长度应在2到18个字符间</message>
 </field-validator>
</field>

<field name="user.strPassword">
 <field-validator type="requiredstring">
 <param name="trim">true</param>
 <message>密码不能为空</message>
 </field-validator>

<field-validator type="stringlength">
 <param name="minLength">6</param>
 <param name="maxLength">18</param>
 <message>密码长度应在6到18个字符之间</message>
 </field-validator>
</field>

<!--<field name="user.age">
 <field-validator type="int">
 <param name="min">1</param>
 <param name="max">150</param>
 <message>年龄应在1到150之间</message>
 </field-validator>
</field>
验证字符串为日期类型  
<field name="user.birthday">
 <field-validator type="date">
 <param name="min">1900-01-01</param>
 <param name="max">2008-10-16</param>
 <message>出生日期应在1900-01-01到2008-10-16</message>
 </field-validator>
</field>
--></validators>

来源:http://blog.csdn.net/yongche_shi/article/details/45096685

标签:struts2,validation
0
投稿

猜你喜欢

  • Android 中TextView中跑马灯效果的实现方法

    2023-08-07 01:39:46
  • SpringBoot如何使用Fastjson解析Json数据

    2023-11-25 11:55:58
  • Java编程调用微信接口实现图文信息推送功能

    2023-11-25 07:20:47
  • 详解AngularJs与SpringMVC简单结合使用

    2023-10-22 04:19:08
  • SSM框架+Plupload实现分块上传大文件示例

    2023-06-01 01:58:21
  • 基于springboot 配置文件context-path的坑

    2021-07-04 17:37:27
  • JavaWeb开发之使用jQuery与Ajax实现动态联级菜单效果

    2023-11-28 19:46:08
  • Windows下Java环境变量配置详解

    2022-02-04 05:56:02
  • java二维数组指定不同长度实例方法

    2021-07-13 06:02:09
  • java 动态增加定时任务示例

    2023-07-29 06:56:00
  • Java实现微信红包分配规则

    2021-06-16 09:18:07
  • Java Web使用简单的批处理操作(记事本+Tomcat)

    2021-08-13 10:08:33
  • C#实现系统休眠或静止休眠的方法

    2023-12-19 01:55:29
  • 详解Java变量与常量

    2023-11-09 21:00:14
  • Java中synchronized锁的深入理解

    2023-08-18 01:36:55
  • java信号量控制线程打印顺序的示例分享

    2023-05-09 12:27:38
  • windows系统配置Java开发环境变量

    2022-03-07 23:28:07
  • 用java开发dota英雄最华丽的技能(实例讲解)

    2022-05-27 00:10:20
  • Spring Boot2深入分析解决java.lang.ArrayStoreException异常

    2021-10-20 12:10:24
  • 深入理解Spring Boot的日志管理

    2021-11-16 09:58:40
  • asp之家 软件编程 m.aspxhome.com