2009-04-14 15 views
19

を検証しません:フォームは、私がCheckboxSelectMultipleウィジェットを使用している選択フィールドを持つフォームを持っている

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

フォームは2つのチェックボックスを示す細かいレンダリング、しかし、それは検証されません。

両方のチェックボックスを選択すると、エラーが表示されます。有効な選択肢を選択してください。 [u'1 '、u'2']は利用可能な選択肢の1つではありません

1つのチェックボックスを選択しても機能しません。 [u'1 ']は利用可能な選択肢の一つではありません。

ここでは何が起こっていますか?

答えて

30

フィールドをforms.ChoiceFieldではなくforms.MultipleChoiceFieldにすると、より効果的です。

4

あなたが直接ORMオブジェクトを渡したい場合は、

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

、あなたはこの便利試すことができます月の次

num_list = forms.ModelMultipleChoiceField(Numbers.objects.all(), required=True, widget=forms.CheckboxSelectMultiple(), label='Select No') 
関連する問題