Webgate Anywhere 4.1 - WebTML Tag-Referenz
validate

<tml:validate>

Beschreibung :

Dieser Tag definiert eine globale Validierung für das aktuelle tmlform-Objekt in Form eines TMLScript-Ausdrucks. Dieser Ausdruck wird im Attribut condition hinterlegt. Diese Validierung wird, ebenso wie beim Attribut validation des tml:input-Tags, ausgeführt wenn das WebTML-Formular per WebTML-Defaultaktion "$store", oder per TMLScript-Methoden des tmlform-Objektes "storeInContent(), "storeInProfile()", "storeInPortlet()" oder "storeInDocument()" gespeichert wird. Auch bei manuellen Validierungen per "tmlform.validate()" wird sie ausgeführt.

Schlägt die Validierung fehl, so wird der Inhalt des Tags als Fehlermeldung ausgegeben. Gleichzeitig wird diese Fehlermeldung am tmlform-Objekt registriert, so dass sie auch per Tag formmessages oder per TMLScript-Methoden ausgegeben werden kann.

Ist keine direkte Ausgabe der Fehlermeldung im tml:validate-Tag gewünscht, so kann diese per Attribut output="false" unterdrückt werden.

Der tml:validate-Tag bezieht sich normalerweise auf den tml:form-Tag in dessen Inhalt er sich befindet. Soll er ausserhalb des tml:form-Tags positioniert werden, so kann der bezogene tml:form-Tag per Attribut sourcetag festgelegt werden.

Über das Attribut ifnoerror kann die Durchführung der Validierung vom Erfolg anderen Feldvalidierungen abhängig gemacht werden.
Abgeleitet von:
<tml:[Alle Tags]>
Attribute:
Vererbte WebTML-Attributes sind ausgeblendet -> Anzeigen
Name Wert(e) Verwendung
cleariferror Feldname, Feldname, ... Enthält die Namen von WebTML-Form-Feldern, deren Inhalte gelöscht werden wenn die Validierung dieses tml:validate-Tags fehlschlägt.
condition TMLScript-Ausdruck Definiert den Validierungsausdruck des tml:validate-Tags.
ifnoerror Feldname, Feldname, ... Bestimmt Eingabefelder, deren Validierungen korrekt sein müssen damit die Validierung des tml:validate-Tags ausgeführt wird.
sourcetag Tag-ID Bestimmt den tml:form-Tag, auf welchen sich der tml:validate-Tag bezieht.

Beispiele:
Der tml:validate-Tag eignet sich insbesondere für Validierungen, die sich nicht eindeutig auf einzelne Felder beziehen. Folgende Validierung überprüft zwei Datumseingaben auf korrekte Reihenfolge:

Start date: <tml:input name="datefrom" type="date" validation="$P_VALUE!=null" message="Please enter a start value"/>
End date: <tml:input name="dateto" type="date" validation="$P_VALUE!=null" message="Please enter an end value"/>

<tml:validate condition="!tmlform.datefrom.after(tmlform.dateto)" ifnoerror="datefrom,dateto">
The start date must not be later than the end date!
</tml:validate>

Da über das Attribut ifnoerror bestimmt wurde, dass diese Validierung nur durchgeführt wird wenn zuvor die Validierungen der Felder "datefrom" und "dateto" erfolgreich durchläuft muss in der Kondition nicht zuvor sichergestellt werden, dass die Felder auch gefüllt sind. Wenn sie nicht gefüllt sind schlagen die Validierungen der tml:input-Tags fehl, weswegen die Validierung des tml:validate-Tags nicht mehr ausgeführt wird.


<< name condition >>