I am learning Django,looked into django validation but the below type i want.searched in google no result.
In my app,their are two character fields,i want it to be validate so that the conditons are,
1.Either any one of the field is entered.
2.It should validate the entered data are integer.
that means,both fields are not mandatory,but any one is mandatory and that mandatory field should accept number only.
How to do it in django.
class MyForm(forms.Form): field_one = forms.IntegerField(required=False) field_two = forms.IntegerField(required=False) def clean(self): cleaned_data = self.cleaned_data field_one = cleaned_data.get('field_one') field_two = cleaned_data.get('field_two') if not any([field_one, field_two]): raise forms.ValidationError(u'Please enter a value') return cleaned_data
required=Falseon both fields allows either field to be left blank.
clean()on the form gets you access to both fields.
Noneif the key isn't found, so the use of
any([field_one, field_two])will return true if at least one of the values in the list isn't
None. If neither value is found, the
ValidationErrorwill be raised.
Hope that helps you out.