Skip to content

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] 文件完全相同。

欢迎读者测试此新版本。