API

WV30_Form

Die zentrale Klasse in Form Evaluation ist WV30_Form. Die wichtigsten Funktionen werden hier beschrieben.

Instanzieren

<?php public static function getForm($key = null, $process = false)

Formular-Objekt anhand des Formular-Keys (wie in forms.yml definiert) holen. Wird $process auf true gesetzt, werden die Prozessoren ausgeführt (sofern das Formular übertragen wurde und valide ist).

Es ist auch möglich selbst ein Formular-Objekt zu instanzieren, wenn man es nicht in der forms.yml konfigurieren möchte. Die Konfiguration muss dann in $params als Array übergeben werden.

<?php public function __construct($key, $params = array(), $process = true)

Daten übergeben

Das Formular erhält seine Daten automatisch aus $_POST. Form Evaluation erwartet, dass alle Formulare über ein verstecktes Feld mit dem Namen WV30_Form::FORM_ID_FIELD_NAME den Formular-Key übermitteln. Anhand dieses Feldes kann das Formulare erkenne, ob das Formular übermittelt wurde. Die Methode

<?php public function isSubmitted()

liefert in diesem Fall true zurück.

Will man nicht die $_POST-Daten verarbeiten kann man die Daten auch manuell übergeben:

<?php public function bind($data = array())

isSubitted() liefert dann automatisch true zurück, es muss auch nicht der Formular-Key in den Daten enthalten sein.

Daten validieren

Sofern Daten vorhanden sind (isSubmitted()), wird durch

<?php public function isValid()

die Validierung (einmal) angestoßen. Im Erfolgsfall wird true sonst false zurückgegeben.

Daten verarbeiten

<?php public function doProcess()

Führt automatisch isValid() aus und wendet im Erfolgsfall alle Prozessoren an.

<?php public function isProcessed()

liefert true, wenn die Prozessoren ausgeführt wurden.

Datenausgebe

<?php public function getValues($stringified = false)
<?php public function getValue($field, $default = '')
<?php public function getValueStringified($field, $default = '')

Wichtig: sly_html bei der Ausgabe im Template nicht vergessen!

Fehlerausgabe

<?php public function hasErrors()

Es gab Fehler.

<?php public function hasError($field)

Prüft, ob ein Feld einen Fehler verursacht hat. Der Feldname akzeptiert auch die Arraynotation. Hilfreich bei verschachtelten Formularen:

<input class="<?php if ($form->hasError('sub1[email]')) echo 'error'?>" name="sub1[email]" type="text" value="<?php if (!$form->isProcessed()) echo sly_html($form->getValue('sub1[email]')) ?>" />
<?php public function getError($field)

Liefert Fehler eines Feldes.

<?php public function getErrors()

Liefert alle Fehler des Formulars als (ggf. verschachteltes) Array. Praktitsch zum Debuggen.

<?php public function getErrorMessage();
      public function getSuccessMessage();

Liefern die im Backend eingestellte Fehler- bzw. Erfolgsmeldung zurück.

Inhalt

Vorheriges Thema

Beispiel 1 (einfaches Formular)

Nächstes Thema

Validatoren

Diese Seite