2009-04-14 142 views
19

我有正在使用CheckboxSelectMultiple插件一個選擇字段的一種形式:形式CheckboxSelectMultiple不驗證

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

的形式呈現細示出了兩個複選框,但是它不驗證。

如果我選中這兩個複選框,我收到一個錯誤:選擇一個有效的選擇。 [u'1',u'2']不是可用選項之一

選擇一個複選框也不起作用,它給了我:選擇一個有效的選擇。 [u'1']不是可用的選擇之一。

這是怎麼回事?

回答

30

如果您將字段設置爲forms.MultipleChoiceField而不是forms.ChoiceField,它將會更好。

4

願這有助於您

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')