RegexValidator в Django Models неправильно проверяет электронную почту

Я делаю форму django с полем email и использую RegexValidator и хочу определенный формат email, но кажется, что он не проверяет поле правильно

    email = models.EmailField(
        unique=True,
        validators=[
            RegexValidator(
                regex=r"^[2][2][a-zA-Z]{3}\d{3}@[nith.ac.in]*",
                message=
                "Only freshers with college email addresses are authorised.")
        ],
    )

Когда я ввожу email, заканчивающийся на @nith.ac.in или @nith.acin, оба принимаются, а @nith.acin не должен приниматься... есть решение?

[nith.ac.in] разбирает не буквальный текст, он разбирает любой символ в группе te, что означает, что он может заканчиваться последовательностью ns, is, nis и т.д.

Ваш regex должен выглядеть так:

email = models.EmailField(
    unique=True,
    validators=[
        RegexValidator(
            regex=r'^[2][2][a-zA-Z]{3}\d{3}@nith[.]ac[.]in$',
            message='Only freshers with college email addresses are authorised.',
        )
    ],
)
Вернуться на верх