【问题标题】:How to validate a Django dynamic form?如何验证 Django 动态表单?
【发布时间】:2015-08-12 14:44:28
【问题描述】:

我正在创建一个测验生成器应用程序。如何根据使用 Django Forms 的问题数量动态验证表单。

该应用程序有 3 种类型的问题。 Fill in the blank、Multiple choice 和 True or False。

我想验证表单,如果问题类型为Fill in the blank,则应将其验证为CharField,如果是True or False 或Multiple choice,则应将其验证为ChoiceField

【问题讨论】:

    标签: django forms validation


    【解决方案1】:

    使用三个(或更多)输入创建表单:

    • CharField你的“填空”答案
    • BooleanField 回答你的“对还是错”
    • ChoiceField 或 MultipleChoiceField 为您提供“多项选择”答案

    不应将所有字段都标记为必填项。现在,您必须将表单值的 init 传递给确定答案类型,覆盖表单中的默认 init 以将该值保存在表单对象中以供以后使用,对于每个字段,您应该使clean_field 方法(其中字段是您的字段的名称)仅在您的答案类型值与该字段匹配时才执行验证。

    【讨论】:

    • 嗨!你有那个代码吗?我对 Django 有点陌生
    猜你喜欢
    • 2011-02-27
    • 2012-08-30
    • 2020-11-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-22
    • 2021-12-20
    相关资源
    最近更新 更多