Django以其他函数形式显示错误

时间:2019-04-14 06:41:22

标签: python django python-3.x django-models django-forms

我试图发布一个ModelForm,但是在is_valid()函数之后,我运行了另一个函数的另一个验证。

我想做的是,如果另一个函数的结果为false,则表单应该在表单上方引发错误,例如“您的密码不能相同”。

由于该函数在此过程中运行,因此无法在模型中使用干净方法。

谢谢!

功能

def somefunction():
.
.
    print ("NOT WORKING")
    return False

views.py

def index(request):
    form = SomeForm(request.POST)
    if request.method == "POST":
        if form.is_valid():
            if somefunction() == True:
                form.save()
                return HttpResponseRedirect("/contact/")
            else:
                form
        else: 
            form
    return render(request, "home.html", {'form': form})

1 个答案:

答案 0 :(得分:0)

您可以使用< script type="text/javascript"> $(window).scrollTop(0); </script>方法来添加错误以手动形成表单。

add_error

但是我建议您改写form.add_error('<FIELD_NAME>)', 'your password cannot be the same') 中的clean method