Ich habe ein Eingabeformular wie folgt definiert.Django Formular Eingabe Validierung
class ProfileForm(forms.ModelForm):
class Meta:
model = Profile
fields = ['first_name', 'last_name', 'language',
]
widgets = {
'language': forms.RadioSelect,
}
Inside my models.py
definiere ich die folgende:
first_name = models.CharField(max_length=250)
last_name = models.CharField(max_length=250)
LANGUAGE = (('AR', 'Arabic'), ('FR', 'French'), ('ES', 'Spanish'))
language = models.CharField(max_length=20, choices=LANGUAGE, blank=False, default=None)
Die first_name und last_name sind Pflichtfelder, und wenn der Benutzer diese beiden Optionen leer lässt, wird eine Warnmeldung aufgefordert. Ich will aber auch, dass das Feld language
ein Pflichtfeld ist. Um dies zu tun, setze ich blank=False
. Es ist zwar korrekt, dass das Formular ungültig ist, wenn Sie das Formular senden, ohne eine Option für language
auszuwählen. Es gibt dem Benutzer jedoch keine Warnung darüber. Wie kann das gemacht werden?
"Um dies zu tun, ich leere = False": Das ist die Standardeinstellung für jedes Feld, so dass Sie nicht festlegen müssen. Vielleicht entfernen Sie 'default = None' und verwenden den' initial' Parameter für Ihre ModelForm? – Evert
Ja, ich habe das versucht, aber keinen Erfolg :( – anderish
Die Validierungswarnung, die dem Benutzer angezeigt wird, ist etwas, das Sie in Ihrem Template HTML implementieren müssen. Haben Sie das getan? – ChidG