I have some validation written in my model in the clean method like so:

```
class MyModel(models.Model):
    foo = ....
    bar = ...

    def clean(self):
        (logic that should be applied to all instances of MyModels to validate)

```

And I want to use this logic (rather than a ModelForm.clean) to validate a model form for MyModel. I expected it would look something like:

```
def my_view(request):

    ...

    if request.method == 'POST':
    form = MyModelForm(request.POST)
    try:
        # validate
        form.instance.clean()
        form.instance.save()
    except ValidationError as e:
        validation_error = e # ???

```

But this doesn't work. The two reasons I want to do this are

1. I want the validation to be applied to all MyModels, so this seems like the most DRY way to do it.
2. I want to show the text of the model ValidationError to the user.

I have looked all around and haven't found any examples or explanations of how to do validation in this way. Is there a better way that I am overlooking?