mirror of
https://github.com/django/django.git
synced 2025-10-24 06:06:09 +00:00
Fixed #17413 -- Serialization of form errors along with all metadata.
This commit is contained in:
@@ -117,6 +117,27 @@ The validation routines will only get called once, regardless of how many times
|
||||
you access :attr:`~Form.errors` or call :meth:`~Form.is_valid`. This means that
|
||||
if validation has side effects, those side effects will only be triggered once.
|
||||
|
||||
.. method:: Form.errors.as_data()
|
||||
|
||||
.. versionadded:: 1.7
|
||||
|
||||
Returns a ``dict`` that maps fields to their original ``ValidationError``
|
||||
instances.
|
||||
|
||||
>>> f.errors.as_data()
|
||||
{'sender': [ValidationError(['Enter a valid email address.'])],
|
||||
'subject': [ValidationError(['This field is required.'])]}
|
||||
|
||||
.. method:: Form.errors.as_json()
|
||||
|
||||
.. versionadded:: 1.7
|
||||
|
||||
Returns the errors serialized as JSON.
|
||||
|
||||
>>> f.errors.as_json()
|
||||
{"sender": [{"message": "Enter a valid email address.", "code": "invalid"}],
|
||||
"subject": [{"message": "This field is required.", "code": "required"}]}
|
||||
|
||||
.. method:: Form.add_error(field, error)
|
||||
|
||||
.. versionadded:: 1.7
|
||||
|
||||
@@ -353,6 +353,12 @@ Forms
|
||||
* The new :meth:`~django.forms.Form.add_error()` method allows adding errors
|
||||
to specific form fields.
|
||||
|
||||
* The dict-like attribute :attr:`~django.forms.Form.errors` now has two new
|
||||
methods :meth:`~django.forms.Form.errors.as_data()` and
|
||||
:meth:`~django.forms.Form.errors.as_json()`. The former returns a ``dict``
|
||||
that maps fields to their original errors, complete with all metadata
|
||||
(error code and params), the latter returns the errors serialized as json.
|
||||
|
||||
Internationalization
|
||||
^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
|
||||
Reference in New Issue
Block a user