A typical Developer Blog
by Gordon Franke
Icon

Wie kann ich eingebettete Formulare oder einzelne Felder abhängig von einem Formularfeld verwenden?

Du hast ein Registrierungsformular mit einem Feld account_type und zwei eingebetteten Formularen Company und Address.

Du willst das eingebettete Company Formular entfernen, wenn das Feld account_type sfGuardUserProfile::TYPE_PRIVATE entspricht, andernfalls willst du das eingebettete Address Formular entfernen.

Die Lösung ist die bind Methode in deinem Formular zu überschreiben.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
  public function bind(array $taintedValues = null, array $taintedFiles = null)
  {
    // unset request param and validator
    if($taintedValues['account_type'] == sfGuardUserProfile::TYPE_PRIVATE)
    {
      unset(
        $taintedValues['Company'],
        $this->validatorSchema['Company']
      );
    }
    else
    {
      unset(
        $taintedValues['Address'],
        $this->validatorSchema['Address']
      );
    }
 
    parent::bind($taintedValues, $taintedFiles);
  }

Related posts:

  1. Wie kann ich alle Formular Pflichtfelder mit einem * kennzeichnen? Erstelle die Datei lib/gfFormHerlp.class.php 1 2 3 4 5 6...
  2. Wie kann ich Werte nach dem Abschicken eines Formulars hinzufügen? Ich möchte die user id des aktuell eingelogten zum formular...
  3. Wie kann man in symfony 1.3 einfach alle Formular Pflichtfelder kennzeichnen? Erstelle eine Funktion in deiner BaseForm Klasse 1 2 3...
  4. Wie kann ich die Anzahl der Datenbank Queries in meinem Unit Test überprüfen? 1 2 3 $manager = new sfDatabaseManager($configuration); $connection =...
  5. Wie kann ich ein symfony event aus dem doctrine model herraus aufrufen? 1 2 $dispatcher = sfProjectConfiguration::getActive()->getEventDispatcher(); $dispatcher->notify($event); ...

Related posts brought to you by Yet Another Related Posts Plugin.

Author: Gordon Franke

Category: Uncategorized, doctrine, symfony

Tagged: , , , ,

Leave a Reply

CommentLuv Enabled