Django form field required conditionally
django, forms
Solution
Check the Chapter on Cleaning and validating fields that depend on each other in the documentation.
The example given in the documentation can be easily adapted to your scenario:
def clean(self):
cleaned_data = super(SignupFormExtra, self).clean()
is_company = cleaned_data.get("is_company")
nip = cleaned_data.get("NIP")
if is_company and not nip:
raise forms.ValidationError("NIP is a required field.")
return cleaned_data
Problem
I'd like to have a field which is required conditionally based on setting a boolean value to `True` or `False`. What should I return to set `required =True` if `is_company` is set to `True`? ``` class SignupFormExtra(SignupForm): is_company = fields.BooleanField(label=(u"Is company?"), required=False) NIP = forms.PLNIPField(label=(u'NIP'), required=False) def clean(self): if self.cleaned_data.get('is_company', True): return ...? else: pass ```