<NOT_NULL/> Nullprüfung in dynamischen Formularen
Eingabekomponenten können einen Wert enthalten oder „leer“ sein. Ist kein Wert in der Eingabekomponente hinterlegt, kann diese abhängig vom Typ der Eingabekomponente entweder einen:
- Leerwert (z.B. CMS_INPUT_TEXT) oder
- NULL (z.B. CMS_INPUT_NUMBER) zurückliefern.
Das <NOT_NULL/>-Tag kann im Bereich Wertermittlung der Regeldefinition (oder für die Definition einer Vorbedingung) eingesetzt werden und prüft, ob eine Eingabekomponente einen Wert enthält (TRUE) oder NULL zurückliefert (FALSE). Die Prüfung bezieht sich immer auf den Wert einer Eingabekomponente. Dazu ist zusätzlich die Angabe eines <PROPERTY/>-Tags (mit dem Attribut value) innerhalb des <NOT_NULL/>-Tags notwendig.
Für Eingabekomponenten, die einen Leerwert enthalten, das ist beispielsweise bei den FirstSpirit Text-Eingabekomponenten der Fall, liefert die <NOT_NULL/>-Prüfung ebenfalls TRUE zurück. Um auszuschließen das Leerwerte gespeichert werden, kann statt der Prüfung über das Tag <NOT_NULL/> das <PROPERTY/>-Tag in Verbindung mit dem Attribut empty verwendet werden. |
Gesonderte Bedingungen gelten auch für Eingabekomponenten, für die ein Vorgabewert innerhalb der Formular-Vorlage hinterlegt wurden (mehr zu diesem Thema). |
Beispiel
Solange vom Redakteur kein Eintrag aus der Combobox ausgewählt wurde, hebt das FirstSpirit-Framework die Eingabekomponente im Arbeitsbereich farblich hervor (siehe Darstellung im Arbeitsbereich) und blendet einen Text-Hinweis ein.
Durch die umschließenden <ON_SAVE/>-Tags wird außerdem das Speichern des Formulars unterbunden.
<RULES>
<ON_SAVE>
<WITH>
<NOT_NULL>
<PROPERTY source="st_combobox" name="VALUE"/>
</NOT_NULL>
</WITH>
<DO>
<VALIDATION>
<PROPERTY source="st_combobox" name="VALID"/>
<MESSAGE lang="*" text=""Not Null" comparison"/>
<MESSAGE lang="DE" text=""Not Null"-Prüfung"/>
</VALIDATION>
</DO>
</ON_SAVE>
</RULES>