【问题标题】:form with CheckboxSelectMultiple doesn't validate带有 CheckboxSelectMultiple 的表单不验证
【发布时间】:2010-10-19 06:31:30
【问题描述】:

我有一个带有选择字段的表单,它正在使用 CheckboxSelectMultiple 小部件:

foo = forms.ChoiceField(widget=forms.CheckboxSelectMultiple,
                        choices=(
                                  ("1", "ONE"),
                                  ("2", "TWO"),
                                 ))

表单显示两个复选框很好,但它没有验证。

如果我同时选中两个复选框,我会收到错误消息:选择一个有效的选项。 [u'1', u'2'] 不是可用的选择之一

选择一个复选框也不起作用,它给了我:选择一个有效的选择。 [u'1'] 不是可用的选项之一。

这是怎么回事?

【问题讨论】:

    标签: django django-forms


    【解决方案1】:

    如果您将该字段设置为 forms.MultipleChoiceField 而不是 forms.ChoiceField 它会更好。

    【讨论】:

      【解决方案2】:

      希望对你有帮助

      num_choices = ( ("1", "ONE"), ("2", "TWO"), ("3", "Three"), ("4", "Four"))
      
      num_list = forms.MultipleChoiceField(choices=num_choices, required=True, widget=forms.CheckboxSelectMultiple(), label='Select No', initial=("1", "2"))
      

      如果你想直接传递ORM对象,那么你可以试试下面的

      num_list = forms.ModelMultipleChoiceField(Numbers.objects.all(), required=True, widget=forms.CheckboxSelectMultiple(), label='Select No')
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-01-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多