12. 示例 09B – 模型验证
接下来的应用程序是前一个应用程序的变体。此前,对于操作 A:
- 验证规则文件名为 A-validation.xml
- 验证错误消息文件名为 A.properties
在此,对于模型 M 的操作 A:
- 验证规则文件名为 M-validation.xml
- 验证错误消息文件名为 M.properties
- 文件 A-validation.xml 仍然存在,但其内容会将验证规则重定向到文件 M-validation.xml。
这些是我们对上一版本所做的唯一改动。
NetBeans 项目如下:
![]() |
- 在 [1] 中,将操作 [FormInt] 及其验证文件
- 更改为 [2],其模板 [FormIntModel]、该模板的验证文件以及与该模板相关的消息。
其余部分与上一版本完全相同。
文件 [FormInt-validation.xml] 如下:
<!--
<!DOCTYPE validators PUBLIC "-//OpenSymphony Group//XWork Validator 1.0.2//
EN" "http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd">
-->
<!DOCTYPE validators PUBLIC "-//OpenSymphony Group//XWork Validator 1.0.2//
EN" "http://localhost:8084/exemple-09B/example/xwork-validator-1.0.2.dtd">
<validators>
<field name="model" >
<field-validator type="visitor">
<param name="appendPrefix">false</param>
<message/>
</field-validator>
</field>
</validators>
我们不会试图解释该文件的内容。我们将直接采用该文件,并牢记其功能:将验证规则转移到模型上。 有人可能会问这有什么用。实际上,模型、其验证规则和提示信息可能已预先存在,并被不同操作所使用。与其在不同操作中重复相同的验证规则和提示信息,不如将这些功能委托给模型。
文件 [FormIntModel-validation.xml] 与上一版本的文件 [FormInt-validation.xml] 完全相同。
文件 [FormIntModel.properties] 与上一版本的文件 [FormInt.properties] 完全相同。
欢迎读者测试此新版本。
