python Django(极端情况):如何在FormView(CreateView / UpdateView)的form_valid方法中引发表单无效并添加错误消息

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python Django(极端情况):如何在FormView(CreateView / UpdateView)的form_valid方法中引发表单无效并添加错误消息相关的知识,希望对你有一定的参考价值。

from django.forms.util import ErrorList
from django import forms

class ContractUpdateView(UpdateView):
    model = Contract
    template_name = 'contract/contract_form.html'
    form_class = ContractForm

    def form_valid(self, form):
        if self.request.POST.get('finish'):
            if (
                not form.cleaned_data['number'] or
                not self.object.images.count()
            ):
                form._errors[forms.forms.NON_FIELD_ERRORS] = ErrorList([
                    u'You have to add images and a contract number'
                ])
                return self.form_invalid(form)
            self.object.is_submitted = True
        self.object = form.save()
        return HttpResponseRedirect(self.get_success_url())

以上是关于python Django(极端情况):如何在FormView(CreateView / UpdateView)的form_valid方法中引发表单无效并添加错误消息的主要内容,如果未能解决你的问题,请参考以下文章