Aktuelle Änderungen - Suchen:

Über mich

Webseite

Formulare

Eine kleine Erweiterung der PmWiki-Datei scripts/forms.php ermöglicht es, auf einfache Weise Formulare mit Validierung in eine Wiki-Seite einzubauen.

Die Anwendung ist sehr ähnlich zur ursprünglichen forms.php. Folgende Erweiterungen wurden eingebaut:

  • Das form Tag hat ein weiteres Attribut "_action", das die Validierungsfunktion für dieses Formular aktiviert (ein solches Formular wird im weiteren Text "validiert" genannt).
  • Folgende neue globale Variablen wurden hinzugefügt:
    • $EnableFormValidation
      Diese Variable aktiviert die Validierungsfunktion generell, sobald der Wert nicht 0 ist.
    • $GetDefaultInputValuesFunction
      Sofern diese Variable definiert ist und dem Benutzer ein validiertes Formular gezeigt wird, wird die in dieser Variablen benannte Funktion mit dem Namen des Formulars, dem Wert des "_action" Attributs und einem Array mit den Eingabevariablen (als Referenz übergeben) aufgerufen. Die Funktion kann die in den input-Tags angegebenen Vorgaben für Feldwerte verändern.
    • $ValidFormPostedFunction
      Ist diese Variable definiert und hat der Benutzer ein Formular mit gültigen Werten abgeschickt, wird diese Funktion mit dem Namen des Formulars, dem Wert des "_action" Attributs und einem Array mit den Eingabevariablen aufgerufen. Die Funktion sollte dann die entsprechende Aktion ausführen (z.B. ein Email versenden oder die Eingabewerte anderweitig speichern).
    • $InputValid
      Hat der Benutzer ein Formular mit gültigen Werten abgeschickt, dann wird diese Variable auf 1 gesetzt.
  • Die neue action "validateinput" ist verfügbar sofern die Validerungsfunktion aktiviert ist ($EnableFormValidation). Die Aktion wird verwendet, sofern wenn ein validiertes Formular abgeschickt wird.
  • Die Validierung eines Formulars geschieht durch Überprüfen der eingegebenen Werten mit Hilfe eines preg regulären Ausdrucks, der im Attribut "_regex" bei jedem Feld hinterlegt werden kann. Hat das Feld auch das Attribut "_message", dann wird der darin enthaltene Text an das Markup (:messages:) angehängt, wenn der Feldwert ungültig ist.

Beispiel

Der folgende Wiki-Quelltext:

(:input form _action=test:)
Name: (:input text text _regex='/.+$/' _message='Bitte einen Namen eingeben':)
(:input submit:)
(:input end:)

erzeugt folgendes Formular:

Name:

Download und Installation

Einfach das neue forms.php Skript herunterladen und in den scripts Ordner Deiner PmWiki-Installation kopieren.
Die aktuelle Version läuft auf PmWiki in der Version 2.1.1 .

Bearbeiten - Historie - Druckansicht - Aktuelle Änderungen - Suchen
Zuletzt geändert am 22.03.2006 07:57 Uhr