Opened 21 months ago
Last modified 21 months ago
#35243 closed New feature
Add easy access to error codes in forms — at Initial Version
| Reported by: | Christophe Henry | Owned by: | nobody |
|---|---|---|---|
| Component: | Forms | Version: | 5.0 |
| Severity: | Normal | Keywords: | |
| Cc: | Triage Stage: | Unreviewed | |
| Has patch: | no | Needs documentation: | no |
| Needs tests: | no | Patch needs improvement: | no |
| Easy pickings: | no | UI/UX: | no |
Description
The ValidationError has a code field that can be used in views to determined what exactly failed during form validation. Unfortunately, the list of error codes in not easily accessible from form. Actually, if I want to recover the ValidationError.code`s for a form's particular field, I must write the following:
error_codes = [err.code for err in form.errors.get("field", ErrorList()).data]
I propose to add a error_codes to the Form class as follows:
@property def errors_codes(self): """Return the list of error codes for each field of this form.""" if self._errors_codes is None: self._errors_codes = { field: [error.code for error in errors.data if error.code] for field, errors in self.errors.items() } return self._errors_codes
Note:
See TracTickets
for help on using tickets.