Die zentrale Klasse in Form Evaluation ist WV30_Form. Die wichtigsten Funktionen werden hier beschrieben.
<?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)
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.
Sofern Daten vorhanden sind (isSubmitted()), wird durch
<?php public function isValid()
die Validierung (einmal) angestoßen. Im Erfolgsfall wird true sonst false zurückgegeben.
<?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.
<?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!
<?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.