我正在学习Django,研究了django验证,但是我想在google搜索下面的类型没有结果。
在我的应用中,他们是两个字符字段,我希望它是有效的,以便条件是,
1.输入任何一个字段。
2.应验证输入的数据是否为整数。
这意味着,这两个字段不是强制性的,但任何一个字段都是强制性的,而且必填字段只能接受数字。
如何在django中执行此操作。
答案 0 :(得分:2)
class MyForm(forms.Form):
field_one = forms.IntegerField(required=False)
field_two = forms.IntegerField(required=False)
def clean(self):
cleaned_data = self.cleaned_data
field_one = cleaned_data.get('field_one')
field_two = cleaned_data.get('field_two')
if not any([field_one, field_two]):
raise forms.ValidationError(u'Please enter a value')
return cleaned_data
required=False
允许将任一字段留空。clean()
可让您访问这两个字段。.get()
将返回None
,因此使用
如果至少有一个any([field_one, field_two])
将返回true
列表中的值不是None
。如果找不到任何值,则
ValidationError
将被提出。希望能帮到你。