如何验证django中的数字

时间:2013-05-15 17:15:58

标签: django django-models django-templates django-admin

我正在学习Django,研究了django验证,但是我想在google搜索下面的类型没有结果。

在我的应用中,他们是两个字符字段,我希望它是有效的,以便条件是,

1.输入任何一个字段。

2.应验证输入的数据是否为整数。

这意味着,这两个字段不是强制性的,但任何一个字段都是强制性的,而且必填字段只能接受数字。

如何在django中执行此操作。

1 个答案:

答案 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
  • 使用IntegerField将验证只有数字字符 礼物,覆盖你的空白用例。
  • 在两个字段上指定required=False允许将任一字段留空。
  • 在表单上实施clean()可让您访问这两个字段。
  • 如果找不到密钥,
  • .get()将返回None,因此使用 如果至少有一个any([field_one, field_two])将返回true 列表中的值不是None。如果找不到任何值,则 ValidationError将被提出。

希望能帮到你。