如何将自定义Django表单验证错误显示为标准弹出窗口

时间:2019-02-01 15:23:15

标签: django django-forms django-validation

我有以下自定义表单验证:

forms.py

import os
from django.core.exceptions import ValidationError

def validate_allegato(allegato):
    ext = os.path.splitext(allegato.name)[1]
    valid_extensions = [ '.pdf']
    if not ext.lower() in valid_extensions:
        raise ValidationError(u'Unsupported file extension.')

class MyForm(forms.Form):
  allegato = forms.FileField(required=False, validators=[validate_allegato])

在模板中,我想将ValidationError显示为标准HTML弹出窗口(如“请填写此字段”)。

有可能吗?

提前谢谢

1 个答案:

答案 0 :(得分:0)

解决方案1: 将错误消息呈现到模板,而不是引发错误。

解决方案2: 您可以在表单类下覆盖Form.clean()方法,所有验证都应在此方法内完成。您可以使用Form.add_error()方法,让你的错误信息的显示。文件:https://docs.djangoproject.com/en/2.1/ref/forms/api/

相关问题