如何验证Django动态表单?

时间:2015-08-12 14:44:29

标签: django forms validation

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

该应用程序有3种类型的问题。 Fill in the blankMultiple choiceTrue or False

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

1 个答案:

答案 0 :(得分:1)

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

  • CharField为您填写“填空”答案
  • BooleanField代表你的“对错”答案
  • ChoiceFieldMultipleChoiceField代表您的“多项选择”答案

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