0

我有一个表格用于对我的应用程序中的地址进行地理编码。如果输入了非地址,则地理编码器会引发“GQueryError”。使用 try/except 我想捕获此错误并将自定义错误发送回表单,该表单将像其他错误一样显示在“错误列表”中并适当地显示和设置样式。这可以做到吗?

4

1 回答 1

0

您应该编写一个clean_field_name方法并在其中捕获错误并引发ValidationError例如

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

阅读如何清理特定字段

于 2011-06-15T23:51:16.513 回答