There is a ticket with a PR to address the issue of targeting specific fields when raising errors; I'm awaiting feedback on what should be the documented API.
https://code.djangoproject.com/ticket/20867. This patch enables two patterns: - Raising ValidationError({'field': 'error'}) from `Form.clean()`. - Calling Form.add_errors('field', 'error') from anywhere. The former is actually something that existed for a long time; only it couldn't be used from `Form.clean()`. This pattern allows targeting specific fields from the `Model` layer (see #16986). The later has been proposed by @akaariai and @mjtamlyn, it's easier to use for the simple cases and it's accessible from outside the form, from a view for example. The current patch only documents the dict construct for `ValidationError` since `Form.add_errors` was a private method in my original patch; should both be documented or only `Form.add_errors`? -- Loic On Aug 20, 2013, at 7:58 AM, Simon Litchfield <[email protected]> wrote: > Lack of clean control over field-specific form errors is an issue that has > been raised and discussed many times over the years, but still the solution > seems pretty inadequate. We're even directing people hack around with _errors > and making excuses for it in the documentation. > https://docs.djangoproject.com/en/dev/ref/forms/validation/#form-subclasses-and-modifying-field-errors -- You received this message because you are subscribed to the Google Groups "Django developers" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/django-developers. For more options, visit https://groups.google.com/groups/opt_out.
