【问题标题】:How can I avoid form.is_valid() flagging an empty field as an error in Django?如何避免 form.is_valid() 在 Django 中将空字段标记为错误?
【发布时间】:2015-05-25 00:17:44
【问题描述】:

我有一个用于更新表格的模板。但是,用户可以选择更新一个字段或所有字段。很有可能他不会更新所有字段,所以我希望能够运行form.is_valid(),但如果表单中有空字段,我不想让它返回 false 几乎可以肯定是。

我不想在表单中使用required=False,因为有另一个模板使用相同的表单,用户必须填写几乎所有字段。

【问题讨论】:

    标签: python django django-forms django-templates


    【解决方案1】:

    最简单的做法可能是将表单子类化并在子类中设置required=False,或者重复字段定义或在__init__ 中进行。否则,您可以在视图中设置required=False,例如:

    def some_view(request):
        if request.METHOD == 'POST':
            form = SomeFormClass(request.POST)
            form.fields['fieldname'].required = False
            if form.is_valid():
                # etc
    

    【讨论】:

    • 非常感谢彼得。那行得通。抱歉,我没有为您的答案投票,因为这是我第一次使用 Stack Overflow。
    猜你喜欢
    • 1970-01-01
    • 2011-07-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多