I’m happy to announce django-validation got field type inheritance support since a couple of minutes. This means your form fields will be validated starting from the most base field type (django.newforms.Field) up to the actual field type (no multiple-inheritance supported though).
In the example I wrote yesterday, when using a TestField field, this field will be validated as a django.newforms.Field (a “required” check will be done), then as a django.newforms.CharField (“min_length” and “max_length” checks), and finally as a TestField. A normal CharField would be validated as a Field first, then as a CharField, etc.
The returned errors will be a list of all errors found, starting with the most basic one (the ones found by the most general class, Field).
Current Python code is most certainly ugly and will need more rewrites. Next to this, other field types should be added, and some tests would be nice too.
I made a snapshot of yesterday’s sample (with some changes, the ClientValidator API slightly changed), you can try it here.