12. Beispiel 09B – Modellvalidierung
Die folgende Anwendung ist eine Variante der vorherigen. Zuvor lautete der Name der Validierungsregeldatei für Aktion A:
- die Validierungsregeldatei den Namen A-validation.xml
- Die Validierungsfehlermeldungsdatei hieß A.properties
Hier, für Aktion A des Modells M:
- heißt die Validierungsregeldatei M-validation.xml
- Die Validierungsfehlermeldungsdatei heißt M.properties
- Die Datei A-validation.xml existiert weiterhin, aber ihr Inhalt leitet die Validierungsregeln auf die Datei M-validation.xml um.
Dies sind die einzigen Änderungen, die wir an der vorherigen Version vornehmen werden.
Das NetBeans-Projekt sieht wie folgt aus:
![]() |
- in [1] die Aktion [FormInt] und ihre Validierungsdatei
- in [2] das zugehörige Modell [FormIntModel], die Validierungsdatei für dieses Modell und die mit diesem Modell verbundenen Meldungen.
Alles andere ist identisch mit der vorherigen Version.
Die Datei [FormInt-validation.xml] sieht wie folgt aus:
<!--
<!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>
Wir werden nicht versuchen, den Inhalt dieser Datei zu erklären. Wir nehmen sie einfach so hin, wie sie ist, und behalten dabei ihren Zweck im Auge: Validierungsregeln an das Modell zu delegieren. Sie fragen sich vielleicht, wozu das gut sein soll. Tatsächlich können das Modell, seine Validierungsregeln und seine Meldungen bereits existieren und von verschiedenen Aktionen verwendet werden. Anstatt dieselben Validierungsregeln und Meldungen für verschiedene Aktionen zu wiederholen, ist es 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.
Leser sind eingeladen, diese neue Version zu testen.
