Ich habe ein benutzerdefiniertes Formular erstellt und müssen sowohl die clean_field()
Methode und clean()
Methode überschreiben. Hier ist mein Code:django benutzerdefiniertes Formular sauber() Erhöhung Fehler von clean_field()
class MyForm(forms.Form):
username=forms.RegexField(regex=r'^1[34578]\d{9}$')
code = forms.RegexField(regex=r'^\d{4}$')
def clean_username(self):
u = User.objects.filter(username=username)
if u:
raise forms.ValidationError('username already exist')
return username
def clean(self):
cleaned_data = super(MyForm, self).clean()
# How can I raise the field error here?
Wenn ich diese Form zweimal speichern, und der Benutzername wird bereits vorhanden in der zweiten Zeit, die clean_username
Methode einen Fehler erhöht jedoch die clean()
Verfahren noch ohne Unterbrechung laufen.
Also meine Frage ist, wie kann ich anrufen clean()
stoppen, wenn Fehler bereits durch cleaned_xxx
erhöhen, falls dies nicht möglich ist, wie kann ich dann den Fehler wieder angehoben, die durch clean_xxxx()
in clean()
Verfahren angehoben?
danke für Ihre Zeit, wirklich zu schätzen für Ihre Antwort. – Enix