Django Form - переопределение стандартного сообщения валидации из пользовательской функции валидатора

В моем файле forms.py есть пользовательская функция проверки, которую я передаю в атрибут validators поля EmailField. Однако, когда я тестирую это в браузере, я получаю ОБА стандартных сообщения об ошибке и мое пользовательское сообщение. Как мне скрыть стандартное сообщение и отобразить только мое пользовательское сообщение?

поведение формы браузера:

Email: bademail123

# Enter a valid email address.   <-- default validation error
# Email does not match expected format: example@email.com   <-- my custom validation error msg

forms.py

# VALIDATORS FOR FORM FIELDS
def clean_email(email):
    if not re.match("\S+@\S+\.\S+", email):
        raise forms.ValidationError(
            "Email does not match expected format: example@email.com"
        )

class IntakeFormSimple(Form):
    email = forms.EmailField(
        label="Email",
        widget=forms.TextInput(attrs={"placeholder": "example@email.com"}),
        validators=[clean_email],
    )

Вы должны иметь возможность переопределить сообщение об ошибке стандартного валидатора электронной почты, используя:

 email = email = forms.EmailField(
    label="Email",
    widget=forms.TextInput(attrs={"placeholder": "example@email.com"}),
    error_messages={'invalid':"Email does not match expected format: example@email.com"},
)
Вернуться на верх