2 Stimmen

Django ändert dynamisch die erforderliche Eigenschaft von Formularen

Ich möchte das erforderliche Attribut auf Formularfeldern dynamisch ändern. Der Grund dafür ist, dass ein Benutzer "Gleiche Adresse wie vorheriger Benutzer" ja/nein auswählen kann.

Wenn ja, werden die Felder auf der Frontend ausgeblendet und ich möchte, dass die standardmäßig erforderlichen Felder beim Validieren / Verarbeiten des Modelformulars nicht mehr erforderlich sind.

5voto

Hier ist eine sehr schöne Diskussion zu diesem Thema im Allgemeinen: Dynamische Formularanforderungen in Django.

Wenn Sie nur etwas wirklich einfaches tun möchten, gibt es zwei sehr grundlegende Möglichkeiten, die mir einfallen:

  1. Legen Sie das Feld als nicht erforderlich fest und verwenden Sie eine benutzerdefinierte Bereinigungsfunktion, um zu überprüfen, ob es existiert, wenn es existieren soll. (Wenn Sie möchten, dass nach dem Feldtitel ein Sternchen erscheint, verwenden Sie einfach etwas einfaches Javascript.)
  2. Verwenden Sie zwei verschiedene Formulare - eines mit dem erforderlichen Feld und eines ohne - und verwenden Sie Javascript, um das richtige Formular anzuzeigen.

Die erste Lösung ist offensichtlich viel einfacher für genau das, was Sie gefragt haben, aber wenn Sie etwas auch nur geringfügig komplizierteres tun möchten, bevorzugen Sie möglicherweise die zweite Option.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X