Запрет регистрации с определенных email доменов в Djanga

Всем привет!
Помогите реализовать проверку почтовых доменов из черного списка при регистрации юзера: если домен попадает в этот список, то регистрацию запретить и вывести меседж типа "регистрация с этого домена запрещена".


Ответы (1 шт):

Автор решения: Vadim.Sharoikin

создаете файл validators.py (там же где и views.py и т.д.) и пишите в него что-то такое

from django.core import validators
from django.core.exceptions import ValidationError


def validate_even(value):

    if 'mail.ru' in value :
        raise ValidationError(
            f'{value} регистрация с mail.ru запрещена ',
            params={'value': value},
        )

для примера использовал конкретно строку, но думаю не составит труда пройтись циклом по каком-нибудь листу, в который передать все "запрещенные" домены почтовых ящиков.

дальше в свою форму добавляете

from .validators import validate_even

class NameForm(ModelForm):
    mail=forms.CharField(label = 'email',validators=[validate_even])

ну и собственно все

→ Ссылка