FriendsOfREDAXO / FriendsOfREDAXO/yform_field
Tab-Value. Darstellungsproblem bei Fehlermeldungen innerhalb eines Tabs
- Dominant language
- PHP
- Stars
- 2
- Forks
- 2
- PR merge metrics
- No merged PRs in 30d
Description
**Description / Beschreibung**
Wenn für Felder innerhalb eines Tabs die Validierung anschlägt, wird das Feld markiert und zusätzlich der Tab rot markiert und auch aufgeblendet. Zumindest bei "normalen" Feldtypen und Einsatz von YForm-Validatoren.
Es gibt auch Felder, die Validierungen in der Methode `enterObject` selbst durchführen. Aber `enterObject` wird generell erst nach Abschluß der Validierungen ausgeführt und die `enterObject` des Tab-Values, die die Validerungsergebnisse abfragt, liegt zeitlich vor der des Values, kann dessen Ergebnisse also nicht verwerten.
Der obige Mechanismus funktioniert also tadellos bei einfachen Feldern wie Text oder Choice, aber nicht bei `be_manager_relation`. Ist beim Einsatz von `be_manager_relation` mit inline-Formularen aufgefallen.
**Lösung**
Die Lösung ist recht einfach: die Tabs dürfen erst dann ihr HTML zusammenbauen, wenn auch die innen liegenden Values mit ihren `enterObject` durch sind.
Es gibt jetzt ein Tab-Value, dass genau das macht. Erst der abschließende, letzte Tab-Eintrag der Tab-Gruppe rendert das HTML. So werden auch Fehler aus z.B. Inline-Formularen berücksichtigt und sichtbar gemacht.
**Aber ...**
Mit Verweis auf Issue #2 stelle ich ersteinmal keinen PR ein. Damit niemand warten muss: die geänderte `tabs.php` kann [hier](https://github.com/christophboecker/rex_yform_value_tabs) abgerufen werden.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start with the changed tabs.php referenced in the issue and compare how Tab-Values build their HTML relative to enterObject validation. Verify the result with be_manager_relation and inline-form fields: validation errors should mark and reveal the containing tab after all nested Values have completed validation.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- php
- Domain
- backend
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Clearly specified
- Newbie friendliness
- 35/100