Stefan Kleeschulte: PEAR HTML_QuickForm - applyFilter() für Gruppenelement

Hallo zusammen!

Ich habe folgendes Problem: Ich verwende HTML_QuickForm (PEAR), um ein Formular zu erstellen. Dieses Formular enthält unter anderem eine Gruppe für PLZ und Ort:

$plz_ort[] = &HTML_QuickForm::createElement('text', 'plz', 'PLZ', array('size' => 5, 'maxlength' => 5));
  $plz_ort[] = &HTML_QuickForm::createElement('text', 'ort', 'Ort', array('size' => 28, 'maxlength' => 30));
  $form->addGroup($plz_ort, 'plz_ort', 'PLZ / Ort', null, true);

Nun möchte ich gerne nach dem Absenden des Formulars aus dem Feld 'plz' alle Leerzeichen entfernen. Ich habe eine Funktion removeAllSpaces($string), die dies erledigt. Ich wende diese Funktion an mit:

$form->applyFilter('plz', 'removeAllSpaces');

Leider funktioniert das nicht, es passiert gar nichts. Wenn ich dagegen folgendes schreibe:

$form->applyFilter('plz_ort', 'removeAllSpaces');

Dann werden alle Leerzeichen entfernt. Nur in diesem Fall natürlich bei allen Feldern der Gruppe 'plz_ort', und beim Feld 'ort' möchte ich das ja gar nicht.

Hat jemand eine Idee, wie man dieses Problem löst?

Viele Grüße,
Stefan

  1. echo $begrüßung;

    Hat jemand eine Idee, wie man dieses Problem löst?

    Der Quelltext von applyFilter() sieht so aus, als ob die Schreibweise "gruppenname[elementname]" dazu verwendet werden kann. Prüfen kann ich diese "These" aus technischen Gründen leider grade nicht.

    echo "$verabschiedung $name";

    1. Hallo!

      Der Quelltext von applyFilter() sieht so aus, als ob die Schreibweise "gruppenname[elementname]" dazu verwendet werden kann. Prüfen kann ich diese "These" aus technischen Gründen leider grade nicht.

      Nicht schlecht! Ich hatte mir den Quelltext der Methode wohl auch angesehen, aber so weit war ich dann doch nicht durchgestiegen. Aber als ich obiges gelesen habe fiel mir die entsprechende Stelle in der Dokumentation auch wieder ein, die ich zunächst nicht verstanden hatte:

      http://pear.php.net/manual/en/package.html.html-quickform.html-quickform.addgroup.php

      Es verhält sich folgendermaßen: Übergibt man an die Methode addGroup() als letzten (fünften) Parameter TRUE, dann kann man Elemente in der Gruppe mit 'gruppenname[elementname]' ansprechen. Übergibt man FALSE, kann man die Elemente mit 'elementname' ansprechen.

      Danke und viele Grüße!
      Stefan