> Regarding this, wouldn't be nice to make all these thing (has_errors,
> form_errors, input_values) easily accessible using some methods
> provided by the Form widget itself?
IMHO, Widget and Form shoud use the same protocol to indicate error(s).
About your suggestion of using a Form's method :
* to do this errors should be part of the Form'state,
* in my case I share the Form instance between every request, so
interference could append if two users use simultanously the form.
What I suggest is to use a dict into input_values. So :
has_errors = bool(input_values.get('errors', None))
form_errors = input_values.get('errors', {})