+
+ def clean_email(self):
+ max_length = User._meta.get_field('username').max_length
+ email = self.cleaned_data['email']
+ if User.objects.filter(username=email).exists():
+ msg = _(
+ 'User with this email address already exists. '
+ '<a href="%(login_url)s">Log in</a> or <a href="%(reset_url)s">reset your password</a>.') % {
+ 'login_url': reverse('login'),
+ 'reset_url': reverse('password_reset'),
+ }
+ raise forms.ValidationError(mark_safe(msg))
+ if len(email) > max_length:
+ raise forms.ValidationError(_('Username too long. Max length: %s') % max_length)
+ return email