Самый простой и быстрый способ (как для вас, так и для сервера) - внедрить его в вашу модель, установив unique=True
.
Если вы все равно хотите использовать его в форме, вам нужно переопределить clean
Очистка электронной почты:
class SignUpForm(UserCreationForm):
...
def clean_email(self):
email = self.cleaned_data['email']
if User.objects.filter(email=email).exists():
raise ValidationError("Email already exists")
return email
Теперь form.is_valid()
выдаст ошибку, если учетная запись пользователя с данным адресом электронной почты уже существует.
Я думаю, вы можете выяснить, как сделать то же самое для номера мобильного телефона сейчас.