Skip to content

12. Beispiel 09B – Modellvalidierung

Die folgende Anwendung ist eine Variante der vorherigen. Zuvor hieß die Validierungsregeln-Datei für die Aktion A:

  • hieß die Datei mit den Validierungsregeln A-validation.xml
  • Die Datei mit den Validierungsfehlermeldungen hieß A.properties

Hier, für die Aktion A des Modells M:

  • heißt die Validierungsregeldatei M-validation.xml
  • Die Datei mit den Validierungsfehlermeldungen heißt M.properties
  • Die Datei A-validation.xml existiert weiterhin, ihr Inhalt verweist jedoch auf die Validierungsregeln in der Datei M-validation.xml.

Dies sind die einzigen Änderungen, die wir an der vorherigen Version vornehmen werden.

Das NetBeans-Projekt lautet wie folgt:

  • in [1], die Aktion [FormInt] und deren Validierungsdatei
  • in „[2]“, die zugehörige Vorlage „[FormIntModel]“, die Validierungsdatei dieser Vorlage sowie die mit dieser Vorlage verbundenen Meldungen.

Alles andere ist identisch mit der vorherigen Version.

Die Datei [FormInt-validation.xml] lautet wie folgt:


<!--
<!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/Beispiel-09B/Beispiel/xwork-validator-1.0.2.dtd">

<validators>
  <field name="model" >
    <field-validator type="visitor">
      <param name="appendPrefix">false</param>
      <message/>
    </field-validator>
  </field>
</validators>

Wir werden nicht versuchen, den Inhalt dieser Datei zu erklären. Wir nehmen sie so, wie sie ist, und behalten dabei ihre Funktion im Hinterkopf: die Validierungsregeln auf das Modell zu übertragen. Man könnte sich fragen, wozu das gut ist. Tatsächlich können das Modell, seine Validierungsregeln und seine Meldungen bereits vorhanden sein und von verschiedenen Aktionen verwendet werden. Anstatt dieselben Validierungsregeln und Meldungen für die verschiedenen Aktionen zu wiederholen, ist es daher besser, diese Funktionen an das Modell zu delegieren.

Die Datei „[FormIntModel-validation.xml]“ ist identisch mit der Datei „[FormInt-validation.xml]“ aus der vorherigen Version.

Die Datei [FormIntModel.properties] ist identisch mit der Datei [FormInt.properties] aus der vorherigen Version.

Der Leser ist eingeladen, diese neue Version zu testen.