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"},
)