views:

51

answers:

1

Ok, here is the question. Imagine I have a ModelForm which have only two fields. like this one:

class ColorForm(forms.Form):
    color_by_name = forms.CharField()
    color = forms.IntegerField(widget = forms.Select(choices=COLOR_CHOICES))

So a user can either input a color name, a choose it from a list. Color is required, but that doesn't mean, that user should enter it manually. There do I put validation, so that my code checks if user selected color in dropdownlist and if not then he should write it manually?

+7  A: 

Make them both required=False, but write a clean() method which checks for one or the other. See the validation documentation for an example.

Daniel Roseman
That worked for me! Thanks, Daniel!
Graf