Startseite
Startseite

Startseite / Vorlagenentwicklung / Regeln / Validierung <VALIDATION/>

<VALIDATION/> Eingabekomponenten validieren

Eine Validierung ist eine bestimmte Handlungsanweisung, die ausgeführt wird, solange die innerhalb des <WITH/>-Abschnitts definierten Bedingungen nicht erfüllt sind (d.h. solange die Wertermittlung FALSE zurückliefert). Eine Validierung wird innerhalb eines <DO/>-Abschnitts definiert. Dieser Abschnitt muss innerhalb der Tags definiert werden, die eine Restriktionsstufe festlegen und nach den Tags, die eine Handlungsanweisung einleiten.

Dabei gilt für die Definition einer Validierung:

  • Eine Validierung kann optional in einer Regel definiert werden.
  • Eine Validierung muss immer einer bestimmten Eingabekomponenten innerhalb eines Formulars zugeordnet werden. Innerhalb der Validierung wird daher immer ein inneres <PROPERTY/>-Tag mit dem Namen einer Eingabekomponente und dem Attribut VALID definiert.
  • Alle nachfolgenden Handlungsanweisungen innerhalb des <VALIDATION/>-Abschnitts wirken sich auf die dort definierte Eingabekomponente aus. Wird nach dem <PROPERTY/>-Tag also ein <MESSAGE/>-Tag definiert, wird die entsprechende Nachricht unterhalb dieser Eingabekomponente angezeigt.
  • Innerhalb eines <DO/>-Abschnitts können mehrere <VALIDATION/>-Abschnitte für unterschiedliche Eingabekomponenten definiert werden. Die „Gültigkeit“ der Eingabekomponente, die innerhalb des <VALIDATION/>-Abschnitts referenziert wird, ergibt sich dabei immer aus dem Booleschen Wert, der über die Wertermittlung definiert wird. Werden hier unterschiedliche Eigenschaften eines Formulars bzw. einer Eingabekomponente miteinander verknüpft, wirken sich alle Eigenschaften auf die „Gültigkeit “dieser Komponente aus (und nicht nur die Eigenschaften, die zu dieser Komponente gehören) (siehe Beispiel „Kombinierte Inhaltsprüfung“).

Beispiel) Kombinierte Inhaltsprüfung

In einem Formular gibt es drei Eingabefelder. Das dynamische Formular soll sicherstellen, dass beim Speichern mindestens ein Eingabefeld vom Redakteur gefüllt ist. Dazu wird jede Eingabekomponente des Formulars markiert und mit einem Hinweistext versehen. Sobald der Redakteur eine Eingabekomponente füllt, verschwinden die Markierungen und Hinweistexte aller Eingabekomponenten und das Formular kann gespeichert werden.

Die Wertermittlung führt zunächst eine Leerprüfung für jede Eingabekomponente des Formulars aus (siehe Eigenschaft EMPTY). Diese drei Bedingungen werden mit dem logischen Operator <AND/> verknüpft, das bedeutet die Bedingung der Regel ist nur erfüllt, wenn alle Eingabekomponenten leer sind (TRUE zurückliefern). Die Negation wird über ein umliegendes <NOT/> erreicht.

Die Handlungsanweisungen innerhalb einer Validierung werden ausgeführt, solange die zugrundeliegenden Bedingung nicht erfüllt sind, im Beispiel also solange alle Eingabekomponenten leer sind. Sobald eine Eingabekomponente des Formulars gefüllt ist, liefert die Wertermittlung TRUE zurück und die Handlungsanweisung innerhalb der Validierung werden nicht mehr ausgeführt.

<RULES>

<ON_SAVE>
<WITH>
<NOT>
<AND>
<PROPERTY source="st_headline" name="EMPTY"/>
<PROPERTY source="st_subheading" name="EMPTY"/>
<PROPERTY source="st_text" name="EMPTY"/>
</AND>
</NOT>
</WITH>
<DO>
<VALIDATION>
<PROPERTY source="st_headline" name="VALID"/>
<MESSAGE lang="*" text="A Headline, subheading or text must be provided!"/>
<MESSAGE lang="DE" text="Eine Überschrift, eine Zwischenüberschrift oder ein Text muss erfasst werden!"/>
</VALIDATION>
<VALIDATION>
<PROPERTY source="st_subheading" name="VALID"/>
<MESSAGE lang="*" text="A Headline, subheading or text must be provided!"/>
<MESSAGE lang="DE" text="Eine Überschrift, eine Zwischenüberschrift oder ein Text muss erfasst werden!"/>
</VALIDATION>
<VALIDATION>
<PROPERTY source="st_text" name="VALID"/>
<MESSAGE lang="*" text="A Headline, subheading or text must be provided!"/>
<MESSAGE lang="DE" text="Eine Überschrift, eine Zwischenüberschrift oder ein Text muss erfasst werden!"/>
</VALIDATION>
</DO>
</ON_SAVE>

</RULES>

© 2005 - 2014 e-Spirit AG | Alle Rechte vorbehalten. | Letzte Änderung: 2013-08-06