struts2官方 中文教程 系列十一:使用XML进行表单验证

在本教程中,我们将讨论如何使用Struts 2的XML验证方法来验证表单字段中用户的输入。在前面的教程中,我们讨论了在Action类中使用validate方法验证用户的输入。使用单独的XML验证文件让您可以内置到Struts 2框架的验证器。

贴个本帖的地址,以免被爬:struts2官方 中文教程 系列十一:使用XML进行表单验证  即 http://www.cnblogs.com/linghaoxinpian/p/6938720.html

下载本章节代码

为了使用户能够编辑存储在Person对象中的信息,我们要有这样的表单,上节教程中以搭建好了环境:

使用XML验证

要验证用户的表单字段输入值,可以使用包含验证规则的单独XML文件。包含验证规则的XML文件必须被命名为  ActionClassName-validation.xml。在示例应用程序中,XML验证文件被命名为 EditAction-validation.xml(src/action)

struts2提供了几种不同的验证器可供我们在xml文件中使用。参考 Validation ,可以获得可使用的验证器列表。

在上面的表单中,我们希望确保用户输入的姓氏为字符串而非数字。为了让Struts 2框架执行该规则,我们可以使用Struts2 requiredstring 验证器。这个验证器检查用户在表单字段中是否输入了一个字符串值。

XML验证器的格式

在XML验证文件中(对于这个例子,就是EditAction-validation.xml):

1 <!DOCTYPE validators PUBLIC "-//Apache Struts//XWork Validator 1.0.3//EN" "http://struts.apache.org/dtds/xwork-validator-1.0.3.dtd">
2
3 <validators>
4     <validator type="requiredstring">
5         <param name="fieldname">personBean.firstName</param>
6         <message>First name is required.</message>
7     </validator>
8 </validators>

在validators节点中,您可以拥有一个或多个这样的节点。type属性指定了您想要使用的Struts 2框架的哪个验证器(请参阅Validation)。param name=“fieldname”节点用于告诉框架,该框架将用于将规则应用于哪个字段(这里是personBean.firstName)。如果忘了可以看下edit.jsp中form标签中的各个字段的name属性的值,当然在edit.jsp中,key属性代替了name属性,不过这并没用什么影响(如果您不熟悉如何使用Struts 2 Form标签的话,请查看上一节教程)。message节点用于告诉框架,如果验证失败,将显示哪些消息。

时间: 2024-08-02 02:50:10

struts2官方 中文教程 系列十一:使用XML进行表单验证的相关文章

struts2官方 中文教程 系列九:Debugging Struts

介绍 在Struts 2 web应用程序的开发过程中,您可能希望查看由Struts 2框架管理的信息.本教程将介绍两种工具,您可以使用它们来查看.一个工具是Struts 2的配置插件,另一个是调试拦截器.本文还讨论了如何设置日志级别以查看更多或更少的日志消息. 贴个本帖的地址,以免被爬:struts2官方 中文教程 系列九:Debugging Struts 即 http://www.cnblogs.com/linghaoxinpian/p/6916619.html 下载本章节代码 Configu

struts2官方 中文教程 系列七:消息资源文件

介绍 在本教程中,我们将探索使用Struts 2消息资源功能(也称为 resource bundles 资源绑定).消息资源提供了一种简单的方法,可以将文本放在一个视图页面中,通过应用程序,创建表单字段标签,并根据用户的语言环境将文本更改为特定的语言. 贴个本帖的地址,以免被爬:struts2官方 中文教程 系列七:消息资源文件  即 http://www.cnblogs.com/linghaoxinpian/p/6906720.html 下载本章节代码 信息资源属性文件 在Struts2 we

struts2官方 中文教程 系列八:异常处理

在本教程中,我们将探讨如何启用Struts 2框架处理web应用程序生成的任何未捕获的异常.Struts 2提供了健壮的异常处理,包括能够自动记录任何未捕获的异常,并将用户重定向到错误web页面. 贴个本帖的地址,以免被爬:struts2官方 中文教程 系列八:异常处理  即 http://www.cnblogs.com/linghaoxinpian/p/6915066.html 下载本章节代码 全局异常处理(Global Exception Handling) 使用Struts 2框架,您可以

struts2官方 中文教程 系列十:Form标签

介绍 在本教程中,我们将探索其他Struts 2表单控件.在前面的教程中,我们介绍了如何使用Struts 2表单(处理表单.表单验证和消息资源文件),我们介绍了如何使用Struts 2 head, form, textfield 控件和key属性.本教程将探索使用Struts 2 select, radio, checkbox, and checkboxlist form 控件 贴个本帖的地址,以免被爬:struts2官方 中文教程 系列九:Debugging Struts 即 http://w

struts2官方 中文教程 系列十二:控制标签

介绍 struts2有一些控制语句的标签,本教程中我们将讨论如何使用 if 和iterator 标签.更多的控制标签可以参见 tags reference. 到此我们新建一个struts2 web 项目:struts_basic2 本帖地址:struts2官方 中文教程 系列十二:控制标签 即 http://www.cnblogs.com/linghaoxinpian/p/6941683.html 下载本章节代码 struts2 if标签 我们在thankyou.jsp中添加如下代码: <s:i

[jQuery学习系列五 ]5-Jquery学习五-表单验证

前言最近总是有一个感觉,虽然这些东西都自己学习并一个案例一个案例的去验证过了.但是总觉得不写成博客记录下来这些都不是自己的东西(心理作用,哈哈).所以每当学习或者复习相关的知识我都喜欢记录下来,下面开始到jQuery的表单验证.这里的表单验证都是最简单最基础的方式去完成,当然jQuery还有一些比较好的验证框架,这里就不提及了. 一,字段验证:1.1 字段非空 <form action="" method="post" id ="myform&quo

[AngularJS] AngularJS系列(3) 中级篇之表单验证

目录 基本验证 验证插件messages 自定义验证 基本验证 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 <form name="form" novalidate ng-app>     <span>{{form.$invalid}}</span>     <span>{{form.$valid}}</span>     <span>{{form.$dirty}}</spa

Netty4.x中文教程系列(六) 从头开始Bootstrap

Netty4.x中文教程系列(六) 从头开始Bootstrap 其实自从中文教程系列(五)一直不知道自己到底想些什么.加上忙着工作上出现了一些问题.本来想就这么放弃维护了.没想到有朋友和我说百度搜索推荐了我的文章.瞬间有点小激动啊.决定自己要把这个教程系列完善下去.这里诚挚的想支持我的盆友们道歉.真的是让你们失望了.我居然有想放弃的这种丧心病狂的念头.以后绝对不会了. 其实伴随着对Netty的逐步深入学习.感觉自己对netty的了解仍然有所欠缺.加上笔者语文课是美术老师教的.所以..说多了都是泪

Netty4.x中文教程系列(三) ChannelHandler

Netty4.x中文教程系列(四)  ChannelHandler 上一篇文章详细解释了Hello World示例的代码.里面涉及了一些Netty框架的基础. 这篇文章用以解释ChannelHandler.笔者本身在以前写过文章ChannelHandler改动及影响 和 ChannelInitializer 学习 对Netty的.ChannelHandler做过阐述.里面主要描述了4.x版本相对于3.x版本的改动以及影响.并引用了一些文章.为大家详细的解释了ChannelHandler里面涉及架