Как показать пользовательские ошибки проверки формы Django в виде стандартных всплывающих окон - PullRequest
0 голосов
/ 01 февраля 2019

У меня есть следующая пользовательская проверка формы:

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 голосов
/ 02 февраля 2019

Решение 1. Отобразите ваше сообщение об ошибке в шаблон, вместо того, чтобы вызвать ошибку.

Решение 2. Вы можете перезаписать метод Form.clean () в своем классе формы, и вся проверка должна быть выполнена внутриЭтот метод.Вы можете использовать метод Form.add_error () для отображения вашего сообщения об ошибке.Документ: https://docs.djangoproject.com/en/2.1/ref/forms/api/

...