My form's is_valid method returns false

user63835

I have a form as below :

class CookDuty(forms.Form ):
    # cook = None
    def __init__(self, *args, **kwargs):
        cook = kwargs.pop('cook')
        super(CookDuty, self).__init__(*args, **kwargs)
        self.fields['duty'].choices = foods_for_cook(cook)
    duty = forms.ChoiceField(widget=forms.CheckboxSelectMultiple, required=False)

I have used it in a view as below, but form.is_valid returns false! I have checked form.errors and it's empty, form.data is empty, and form.is_bound is False.

def duty_list_cook(request):
    if request.method == 'POST':
        c = Cook.objects.all()[0]
        form = CookDuty(cook=c)
        if form.is_valid():
            print(form.cleaned_data)
            return render(request, 'employee/cook_duty.html', {'form':form})

    else:
        c = Cook.objects.all()[0]
        form = CookDuty(cook=c)
    return render (request, 'employee/cook_duty.html', {'form':form})
Alasdair

When it is a post request, you need to pass the POST data to the form.

if request.method == 'POST':
    c = Cook.objects.all()[0]
    form = CookDuty(cook=c, data=request.POST)

Without the post data, the form is unbound, so will always be invalid.

See the docs on bound and unbound forms for more info.

The second problem is that the ChoiceField field (used for selecting a single choice) isn't compatible with the CheckboxSelectMultiple widget (used for selecting multiple choices). If you want to select multiple choices, then you need to use MultipleChoiceField instead of ChoiceField.

duty = forms.MultipleChoiceField(widget=forms.CheckboxSelectMultiple, required=False)

Collected from the Internet

Please contact [email protected] to delete if infringement.

edited at
0

Comments

0 comments
Login to comment

Related

From Dev

django is_valid returns false for model form even though all fields have a value

From Dev

Django form is valid() returns false

From Dev

Rest framework serializer always returns False for is_valid

From Dev

form.is_valid() returns false (django)

From Dev

django form.is_valid() always returns false

From Dev

form.is_valid(): always returns false

From Dev

why my INSERT INTO method returns false?

From Dev

My method always returns false but it works

From Dev

Why AVPlayerItem's canPlayFastForward method returns False?

From Dev

How can I change form field values after calling the is_valid() method?

From Dev

Matcher's matches() method returns false, find() and groupCount() return results

From Dev

Django model form is_valid() in specific database

From Dev

setATRHistBytes() method always returns false

From Dev

pattern method matches returns false

From Dev

Android bindservice method returns false

From Dev

Django: difference between is_valid and form_valid

From Dev

Symfony2: my form returns false from isValid() but empty array for getErrors() from unique constraint condition

From Dev

What is the error in my form email input . It always returns false while submitting

From Dev

Valid email still returns false

From Dev

Django 3: is_valid() is always false using FileField and FloatField

From Dev

is_valid() throw exception when a simple form is invalid in django 1.6

From Dev

Django form unittest with ChoiceField and MultipleChoiceField failing is_valid()

From Dev

Django form posts data with no errors, but does not register as 'is_valid'

From Dev

Wordpress Function to Create Form Returns False

From Dev

spring form validation BindingResult always returns false

From Dev

Overriding Django-Rest-Framework serializer is_valid method

From Dev

Why the Auth::attempt method always returns false?

From Dev

the method returns false when in fact it is true java

From Dev

Set Implementation Equals Method Always returns false

Related Related

  1. 1

    django is_valid returns false for model form even though all fields have a value

  2. 2

    Django form is valid() returns false

  3. 3

    Rest framework serializer always returns False for is_valid

  4. 4

    form.is_valid() returns false (django)

  5. 5

    django form.is_valid() always returns false

  6. 6

    form.is_valid(): always returns false

  7. 7

    why my INSERT INTO method returns false?

  8. 8

    My method always returns false but it works

  9. 9

    Why AVPlayerItem's canPlayFastForward method returns False?

  10. 10

    How can I change form field values after calling the is_valid() method?

  11. 11

    Matcher's matches() method returns false, find() and groupCount() return results

  12. 12

    Django model form is_valid() in specific database

  13. 13

    setATRHistBytes() method always returns false

  14. 14

    pattern method matches returns false

  15. 15

    Android bindservice method returns false

  16. 16

    Django: difference between is_valid and form_valid

  17. 17

    Symfony2: my form returns false from isValid() but empty array for getErrors() from unique constraint condition

  18. 18

    What is the error in my form email input . It always returns false while submitting

  19. 19

    Valid email still returns false

  20. 20

    Django 3: is_valid() is always false using FileField and FloatField

  21. 21

    is_valid() throw exception when a simple form is invalid in django 1.6

  22. 22

    Django form unittest with ChoiceField and MultipleChoiceField failing is_valid()

  23. 23

    Django form posts data with no errors, but does not register as 'is_valid'

  24. 24

    Wordpress Function to Create Form Returns False

  25. 25

    spring form validation BindingResult always returns false

  26. 26

    Overriding Django-Rest-Framework serializer is_valid method

  27. 27

    Why the Auth::attempt method always returns false?

  28. 28

    the method returns false when in fact it is true java

  29. 29

    Set Implementation Equals Method Always returns false

HotTag

Archive