Как я могу показать validationerror?
Ну, я использую django 3.0.3 и python 3.8.5..
ValidationError не вызывает ошибки, даже если я ввожу разные электронные письма...
Я перепробовал так много возможных способов вызвать ошибку, но ни один из них не работает..
Что я уже пробовал:
------forms.py------- class FormName(forms.Form): name = forms.CharField( required=True) email = forms.EmailField( required=True) vmail = forms.EmailField( required=True) text = forms.CharField(widget = forms.Textarea) def clean(value): cleaned_data = super().clean() name = cleaned_data.get("name") email = cleaned_data.get("email") vmail = cleaned_data.get("vmail") if email != vmail: raise ValidationError("Emails are not match") --------views.py----- def forms_web(request): forming = forms.FormName() if request.method == 'POST': forming = forms.FormName(request.POST) if forming.is_valid(): print("VALIDATION SUCCESS!") print("NAME :" +forming.cleaned_data['name']) print("EMAIL :" +forming.cleaned_data['email']) print("VMAIL :" +forming.cleaned_data['vmail']) print("TEXT :" +forming.cleaned_data['text']) return render(request ,'django_App/forms.html',{'form':forming})
Richard MacCutchan
Без данных, с которыми вы работаете, это невозможно сказать. Используйте отладчик, чтобы узнать, что происходит, когда вы выполняете сравнение двух электронных писем. Я Алос заметил следующие две строчки:
email = forms.EmailField( required=True) vmail = forms.EmailField( required=True)
Правильно ли, что они оба относятся к одному и тому же элементу формы?