Struts2校验规则创建
来源:互联网 发布:centos 压缩 编辑:程序博客网 时间:2024/05/16 10:56
为了利用WebWork校验框架实现数据校验有两件事情要做,第一是创建一个validation.xml文件,第二是在需要进行校验的action中加入一个校验interceptor引用。
WebWork允许两种类型的校验 —— per-action和model-based。因为所有的Action对Person引用都要使用相同的校验规则,所以本文将使用model-based类型的校验。
在src/dao/**/model目录下创建Person-validation.xml文件并加入下列内容:
"http://www.opensymphony.com/xwork/xwork-validator-1.0.dtd">
<validators>
<field name="person.firstName">
<field-validator type="requiredstring">
<message key="errors.required"/>
</field-validator>
</field>
<field name="person.lastName">
<field-validator type="requiredstring">
<message key="errors.required"/>
</field-validator>
</field>
</validators>
在ApplicationResources_*.properties文件中的"errors.message" 键值使用字段的"name"属性以实现国际化。如果不需要提供对i18n的支持可以直接对<message>元素中指定显示内容。
现在可以配置PersonAction使用visitor validation。为了实现这个目标,在PersonAction目录下创建一个PersonAction-validation.xml文件。加入下面的内容:
"http://www.opensymphony.com/xwork/xwork-validator-1.0.dtd">
<validators>
<field name="person">
<field-validator type="visitor">
<param name="appendPrefix">false</param>
<message/>
</field-validator>
</field>
</validators>
糟糕的是,WebWork没有提供一个透明机制读取Person-validation.xml文件并且标记在UI上标记哪个字段时必须的。 AppFuse的Struts和Spring版本使用LabelTag实现了这个目标,不过他们也只是实现了一个普通的校验。我希望有人能够为 WebWork提供相同的功能实现。同时JSP tags "required" 属性实际上没有对你所指定的校验规则作任何事情,仅仅是在加入对应的字段后面加入了一个星号而已。
当然,也可以使用per-action校验。只需要拷贝Person-validation.xml文件到"webapp.action"包中并且把它重命名为PersonAction-validation.xml。
为了使在"savePerson" 操作中我们新加入的校验规则发挥作用,我们要把原来在"validator"属性上的注释去掉。确定最后在web/WEB- INF/classes/xwork.xml文件的"savePerson" <action> 部分包含以下内容:
说明:在Appfuse中使用的validationStack和WebWork自带的有些不同,更多的信息可以在WebWork's JIRA中查找。
- Struts2校验规则创建
- 使用Struts2的输入校验(一)--校验规则文件
- NC 创建自定义校验规则类
- 校验规则
- Struts2的输入校验(1):编写校验规则文件(方法一)
- Struts2 校验
- struts2校验
- struts2校验
- struts2校验
- struts2校验
- Struts2校验
- Struts2校验
- Struts2校验
- Struts2基于XML配置对Action方法的校验命名规则
- mysql字符集校验规则
- jquery默认校验规则
- PMD校验规则总结
- 身份证号码校验规则
- selenium remote control 实例(java code)
- Inline Method(将函数内联化)
- Visual Web Pack所知问题小议
- 控件之间拖放操作-----实现Treeview到Treeview
- 大学宿舍频率最高的话
- Struts2校验规则创建
- js实现文本框只能输入数字
- 用户权限设计
- 大一新生适应大学生活要做好"三个转变"
- 基于对象编程的基本知识!
- shmmax 共享内存不足
- RichEdit
- 中国的汉奸太多了!
- [精华] 跟我一起写 Makefile(转载)