I have a form for geocoding an address in my app. If a non-address is entered, the geocoder raises a "GQueryError". Using try/except I'd like to catch this error and send a custom error back to the form that would show up in the "errorlist" like the other errors and be appropriately displayed and styled. Can this be done?
Asked
Active
Viewed 1,592 times
1 Answers
0
You should write a clean_field_name
method and in it capture the error and raise a ValidationError
e.g
class MyForm(forms.Form):
...
# rest of the form
...
def clean_address(self):
address = self.cleaned_data['address']
try:
address = geo_clean(address)
except GQueryError,e:
raise forms.ValidationError("ooops you are so wrong, %s!"%e)
return address

Anurag Uniyal
- 85,954
- 40
- 175
- 219