【问题标题】:Is calling is_valid() on a form that has hidden values required?是否在需要隐藏值的表单上调用 is_valid()?
【发布时间】:2015-05-02 03:43:16
【问题描述】:

我有一个包含一堆字段的表单,但我也传递了值,例如他们提交表单的当前页面和用户,它们是隐藏字段。

所以据我了解 is_valid() 会因此而失败。那么我需要运行 is_valid() 吗?

例如,我的一个表格有这样一行:

self.fields['user'].widget = forms.HiddenInput()

【问题讨论】:

    标签: django django-forms django-1.7


    【解决方案1】:

    是的,表单将针对所有字段进行验证 - 取决于必需/非必需或默认等 - 对于隐藏字段以及提供的数据。

    如果您想保存或使用提交的数据,您应该使用is_valid() 验证表单。

    【讨论】:

    • 如果我有这行self.fields['user'].widget = forms.HiddenInput(),它将永远无效,对吧?
    • 如果您使用用户 id 填充隐藏的输入,它将是有效的。
    • 此外,OP 应该考虑仅仅因为在页面呈现时该字段被隐藏并不意味着它会在用户提交表单时出现,或者输入将包含数据类型OP打算。换句话说,始终验证您的数据。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-01-04
    • 2020-03-12
    • 1970-01-01
    • 1970-01-01
    • 2011-07-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多