Ich habe ein Formular, bestehend aus drei Feldern. Wenn Feld 1 den Wert true
hat, muss Feld 3 aus dem Formular entfernt werden. Wenn Feld 1 den Wert false
hat, muss Feld 3 wieder in das Formular eingefügt werden.Dynamisch ändern redux-form basierend auf Feldwerte
Ich finde nicht eine einfache, saubere Art, dies zu tun.
Eines der Beispiele auf der Website redux-form erläutert, wie ein Formular basierend auf dem Status des Formularbehälters dynamisch erstellt wird. Der Container übergibt das Feldarray an die Formularkomponente als prop
, und die Eingabefelder, die das Feldarray steuern, befinden sich innerhalb des Containers. Ich kann diesen Ansatz nicht wirklich verwenden, da Feld 1 innerhalb des Formulars sein muss.
Ich habe versucht, Feld 3 einfach mit CSS zu verstecken, aber die Validierungsregeln sind nicht bewusst, welche Felder ausgeblendet sind oder nicht.
Das wird funktionieren, aber ich woul müssen noch testen für den Wert von yourField1 in meiner Validierungsfunktion, andernfalls wird yourField3 weiterhin validiert. –
Werfen Sie einen Blick auf das Beispiel für SynchronousValidationForm in der Dokumentation http://redux-form.com/5.2.5/#/examples/synchronous-validation?_k=cpiwib Sie validieren yourField3 nur, wenn IhrField1 falsch ist – parecementeria
ja, das ist was ich damit meinte, dass ich in meiner Validierungsfunktion auf den Wert von yourField1 testen müsste. Ich dachte, dass es eine Möglichkeit geben würde, das Feld komplett aus meinem Formular zu entfernen. Wie auch immer, ich denke, ich werde die Frage noch etwas länger offen lassen, falls jemand eine bessere Lösung finden sollte. Danke @parecementeria! –