【问题标题】:Formset validation changes Django 1.6表单集验证更改 Django 1.6
【发布时间】:2014-09-04 10:23:15
【问题描述】:

我在 Django 1.5 中有以下代码:

if formset.is_valid():
    formset.save()

formset 中的表单正在 clean() 中执行检查,以确保输入了某些必填字段(仅在运行时知道)。这意味着尽管用户可能不会输入任何值,但验证仍会运行并在需要时要求输入数据。

对于 Django 1.6,此行为不再适用。如果没有变化,那么在调用 formset.is_valid() 时不会再调用表单的 clean() 方法。

我在更改日志中找不到任何可以解释这种新行为的内容。 formset.is_valid() 上是否有一个标志来强制验证,即使没有进行任何更改?

【问题讨论】:

    标签: django django-forms django-1.6


    【解决方案1】:

    由于表单集更改了表单的 edit_permitted 属性,因此似乎跳过了验证。

    以下更改解决了我遇到的问题:

      # Was required to disable shortcut for validation when
      # no data was entered
      for form in formset:
          form.empty_permitted = False
    

    【讨论】:

      猜你喜欢
      • 2013-09-03
      • 1970-01-01
      • 2016-03-15
      • 1970-01-01
      • 1970-01-01
      • 2012-01-24
      • 1970-01-01
      • 2013-04-01
      • 1970-01-01
      相关资源
      最近更新 更多