2009-04-14 13 views
19

Tengo un formulario con un campo de selección que utiliza Reproductor CheckboxSelectMultiple:formulario con CheckboxSelectMultiple no valida

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

La forma hace bien muestra dos casillas de verificación, sin embargo, no valida.

Si selecciono ambas casillas me aparece un error: Seleccione una opción válida. [u'1 ', u'2'] no es una de las opciones disponibles

La selección de una casilla de verificación tampoco funciona, me da: Seleccione una opción válida. [u'1 '] no es una de las opciones disponibles.

¿Qué está pasando aquí?

Respuesta

30

Si convierte el campo a forms.MultipleChoiceField en vez de forms.ChoiceField, funcionará mejor.

4

Puede ser que este muy útil para usted

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

Si desea pasar el objeto ORM directamente, entonces usted puede intentar lo siguiente

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