我有以下自定义表单验证:
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弹出窗口(如“请填写此字段”)。
有可能吗?
提前谢谢
答案 0 :(得分:0)
解决方案1: 将错误消息呈现到模板,而不是引发错误。
解决方案2: 您可以在表单类下覆盖Form.clean()方法,所有验证都应在此方法内完成。您可以使用Form.add_error()方法,让你的错误信息的显示。文件:https://docs.djangoproject.com/en/2.1/ref/forms/api/