Skip to content

feat(ux): Duplikat-/Leer-Optionen in Auswahlfeldern verhindern (Phase 4)#19

Merged
dbt-bossert merged 1 commit into
mainfrom
claude/ux-phase-4-duplicate-options
Jun 15, 2026
Merged

feat(ux): Duplikat-/Leer-Optionen in Auswahlfeldern verhindern (Phase 4)#19
dbt-bossert merged 1 commit into
mainfrom
claude/ux-phase-4-duplicate-options

Conversation

@dbt-bossert

Copy link
Copy Markdown
Collaborator

Auswahlfeld-Optionen mit doppelten oder leeren Schlüsseln werden jetzt erkannt und im Editor klar markiert.

Kernlogik

  • getOptionKeyError als exportierte, unit-getestete reine Funktion (5 Tests) prüft jeden Option-Schlüssel auf Eindeutigkeit und Nicht-Leere.
  • Fehlerstatus + Hilfetext direkt am Key-Feld jeder Option: leer → „Schlüssel darf nicht leer sein", doppelt → „Schlüssel muss eindeutig sein".
  • Sammel-Warnung über der Optionen-Tabelle, sobald irgendein Schlüssel ungültig ist (auch wenn die Zeile außerhalb des Sichtbereichs liegt).
  • Schlüssel werden vor dem Vergleich getrimmt — "x" und " x " gelten als Duplikat.
  • Kollisionssichere Auto-Key-Generierung in handleAddOption (regeneriert bei zufälliger Kollision).

Warum

handleUpdateOptionKey ließ bisher beliebige Keys ohne Prüfung zu. Der key ist vertragskritisch: portal speichert den ausgewählten Wert über genau diesen Schlüssel — doppelte oder leere keys erzeugen fehlerhafte, nicht korrekt auswertbare Flows.

Test

  1. Auswahlfeld-Element anlegen, zwei Optionen auf denselben Schlüssel setzen → beide Key-Felder rot + Hilfetext „Schlüssel muss eindeutig sein", Warnung über der Tabelle.
  2. Einen Schlüssel leeren → „Schlüssel darf nicht leer sein".
  3. Schlüssel wieder eindeutig/befüllen → Fehler und Warnung verschwinden.
  4. Mehrfach „Hinzufügen" → neue Optionen bekommen stets eindeutige Keys.

Labels

Feature

🤖 https://claude.ai/code/session_01D2Pc4cAexeqUFrM1YonaJL


Generated by Claude Code

Auswahlfeld-Optionen-Schluessel werden auf Eindeutigkeit und Nicht-Leere
geprueft. Doppelte oder leere keys sind vertragskritisch, da portal den
ausgewaehlten Wert ueber den key speichert.

- getOptionKeyError als exportierte, unit-getestete reine Funktion
- Fehlerstatus + Hilfetext am Key-Feld jeder Option
- Sammel-Warnung ueber der Optionen-Tabelle bei ungueltigen Keys
- kollisionssichere Auto-Key-Generierung beim Hinzufuegen
@dbt-bossert
dbt-bossert merged commit 371be92 into main Jun 15, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants