我试图发布一个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})
答案 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。