【问题标题】:Django form validation in views视图中的 Django 表单验证
【发布时间】:2011-03-06 05:06:28
【问题描述】:

我想知道是否可以在 django 视图中进行表单验证。我有一些用例,其中一个视图有 2 个表单。每个表单都有自己的干净方法等,但我不能在表单级别做的是检查一个表单中是否存在一个值,在另一种表单中执行其他操作。

这很容易在视图中检查,但我找不到更新 non_field_errors() 列表并在视图中引发 ValidationError 的方法。我当然可以在视图中引发 ValidationError,但这不会返回到表单并显示错误。

这可能吗?

【问题讨论】:

    标签: django validation forms


    【解决方案1】:

    您可以将第一个表单传递给第二个表单的__init__,然后签入您想要检查的 clean 或 clean_xxx 方法。

    【讨论】:

    • 是的,我已经考虑过了,它应该可以工作,但看起来不是很干净。然后我必须在知道结果之前决定哪种形式应该引发 ValidationError。并且表单被耦合到另一个。
    • 但是当表单已经相关时,您无法避免耦合,您只是试图将验证代码从表单移动到 IMO 更不干净的外部表单
    • 它们不一定相关,但在这个用例中它们是相关的,但表格可以在其他地方使用无关的。
    猜你喜欢
    • 2017-11-11
    • 1970-01-01
    • 1970-01-01
    • 2020-05-25
    • 2015-07-10
    • 1970-01-01
    • 1970-01-01
    • 2011-03-10
    • 2011-01-19
    相关资源
    最近更新 更多