- Affected Version
- WoltLab Suite 5.3
- Affected App
- WoltLab Suite Core
Hallo,
Ich würde gern ein Formfeld abhängig von ausgewählten Media anzeigen. NonEmptyFormFieldDependency funktioniert hier nicht besonders gut, da es nur auf einen nicht leeren value überprüft. Bei einem neuen Formular stimmt das zuerst, da der value des hidden Felds nicht gesetzt ist. Sobald man aber Media ausgewählt hat und dann wieder entfernt ist der Wert 0 und die Dependency greift nicht mehr.
Also auf zu ValueFormFieldDependency und einer etwas umständlichen Konfiguration:
SingleSelectionFormField::create('position')
->addDependency(ValueFormFieldDependency::create('imageID')
->fieldId('imageID')
->values(['', 0])
->negate())
Das funktioniert, allerdings verzögert. Nachdem ich Media ausgewählt habe erscheint das Feld erst, nachdem sich eine andere Dependency von einem anderen Feld ändert. Dann werden scheinbar alle Dependencies neu überprüft und das zusätzliche Feld wird angezeigt. (Gleiches gilt auch für die NonEmptyFormFieldDependency in Verbindung mit Media).
Gibt es hier eine elegantere/richtigere Lösung oder ist das ein Fehler?