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

欢迎读者测试此新版本。