I have the following form in django:
class UserEmailRegistrationForm(forms.Form):
password = forms.PasswordField(max_length=32, label=_('Password'),
validators=[validators.validate_password])
email = forms.EmailField(label=_('Email'),
validators=[validators.validate_email])
first_name = forms.CharField(max_length=35, label=_('First name'),
validators=[validators.validate_name])
last_name = forms.CharField(max_length=35, label=_('Last name'),
validators=[validators.validate_name])
Most validators are custom, but validate_email is as seen in django.core.validators. Also, here's the relevant part of my view:
form = UserEmailRegistrationForm(PUT)
# Validate incoming data
if not form.is_valid():
return HttpResponse(form.errors.as_json(),
content_type='application/json', status=422)
All validators are working fine, but I get Enter a valid email address. twice in form.errors when I pass along an invalid email address. Here's the response I get:
{"email": [{"message": "Enter a valid email address.", "code": "invalid"}, {"message": "Enter a valid email address.", "code": "invalid"}]}
What could be causing this and how can I resolve it?