gpt4 book ai didi

空 IntegerField 上的 Django 表单验证

转载 作者:行者123 更新时间:2023-12-02 07:04:13 25 4
gpt4 key购买 nike

我有一个表单,我不会将其呈现为 HTML 页面的一部分,但会验证输入:

class milestone_form(forms.Form):
name = forms.CharField(required=True)
completion = forms.IntegerField(initial=0, required=False)
due_date = forms.DateField(required=True,input_formats={'%d.%m.%Y'})
phase = forms.IntegerField(required=True)

这个完成位导致了很多问题:

form = milestone_form(request.POST)
form.is_valid()#will return False on empty completion

我尝试覆盖表单的 clean() 以使completion = 0(当它为空时):

def clean(self):
cleaned_data = self.cleaned_data
if cleaned_data.get('completion') is None:
cleaned_data['completion'] = 0
return cleaned_data

但是,这没有帮助。我还有什么遗漏的吗?

最佳答案

这可能是我为空白字段返回整数并进行错误检查的方式:

from django.forms import ValidationError

def clean_completion(self):
if self.cleaned_data.get('completion'):
try:
return int(self.cleaned_data['completion'].strip())
except ValueError:
raise ValidationError("Invalid number")
return 0

关于空 IntegerField 上的 Django 表单验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9958988/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com