【问题标题】:How to validate number in django如何在 django 中验证号码
【发布时间】:2013-05-10 09:18:22
【问题描述】:

我正在学习 Django,查看了 django 验证,但我想要以下类型。在 google 中搜索没有结果。

在我的应用程序中,它们是两个字符字段,我希望对其进行验证,以便条件是,

1.输入任何一个字段。

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

这意味着,这两个字段都不是强制性的,但是任何一个都是强制性的,并且该强制性字段应该只接受数字。

如何在 django 中做到这一点。

【问题讨论】:

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


【解决方案1】:
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 将被提升。

希望对你有所帮助。

【讨论】:

    猜你喜欢
    • 2020-01-20
    • 2020-04-05
    • 2020-08-17
    • 2021-11-01
    • 2010-09-07
    • 2018-09-17
    • 1970-01-01
    • 2022-06-16
    • 1970-01-01
    相关资源
    最近更新 更多