mirror of
https://github.com/django/django.git
synced 2025-08-03 18:38:50 +00:00
Fixed #16192 -- Made unique error messages in ModelForm customizable.
Overriding the error messages now works for both unique fields, unique_together and unique_for_date. This patch changed the overriding logic to allow customizing NON_FIELD_ERRORS since previously only fields' errors were customizable. Refs #20199. Thanks leahculver for the suggestion.
This commit is contained in:
parent
65131911db
commit
8847a0c601
11 changed files with 142 additions and 34 deletions
|
@ -124,6 +124,15 @@ ValidationError
|
|||
:ref:`Model Field Validation <validating-objects>` and the
|
||||
:doc:`Validator Reference </ref/validators>`.
|
||||
|
||||
NON_FIELD_ERRORS
|
||||
~~~~~~~~~~~~~~~~
|
||||
.. data:: NON_FIELD_ERRORS
|
||||
|
||||
``ValidationError``\s that don't belong to a particular field in a form
|
||||
or model are classified as ``NON_FIELD_ERRORS``. This constant is used
|
||||
as a key in dictonaries that otherwise map fields to their respective
|
||||
list of errors.
|
||||
|
||||
.. currentmodule:: django.core.urlresolvers
|
||||
|
||||
URL Resolver exceptions
|
||||
|
|
|
@ -233,8 +233,12 @@ field will raise. Pass in a dictionary with keys matching the error messages you
|
|||
want to override.
|
||||
|
||||
Error message keys include ``null``, ``blank``, ``invalid``, ``invalid_choice``,
|
||||
and ``unique``. Additional error message keys are specified for each field in
|
||||
the `Field types`_ section below.
|
||||
``unique``, and ``unique_for_date``. Additional error message keys are
|
||||
specified for each field in the `Field types`_ section below.
|
||||
|
||||
.. versionadded:: 1.7
|
||||
|
||||
The ``unique_for_date`` error message key was added.
|
||||
|
||||
``help_text``
|
||||
-------------
|
||||
|
|
|
@ -151,8 +151,8 @@ access to more than a single field::
|
|||
|
||||
Any :exc:`~django.core.exceptions.ValidationError` exceptions raised by
|
||||
``Model.clean()`` will be stored in a special key error dictionary key,
|
||||
``NON_FIELD_ERRORS``, that is used for errors that are tied to the entire model
|
||||
instead of to a specific field::
|
||||
:data:`~django.core.exceptions.NON_FIELD_ERRORS`, that is used for errors
|
||||
that are tied to the entire model instead of to a specific field::
|
||||
|
||||
from django.core.exceptions import ValidationError, NON_FIELD_ERRORS
|
||||
try:
|
||||
|
|
|
@ -321,6 +321,11 @@ Django quotes column and table names behind the scenes.
|
|||
:class:`~django.db.models.ManyToManyField`, try using a signal or
|
||||
an explicit :attr:`through <ManyToManyField.through>` model.
|
||||
|
||||
.. versionchanged:: 1.7
|
||||
|
||||
The ``ValidationError`` raised during model validation when the
|
||||
constraint is violated has the ``unique_together`` error code.
|
||||
|
||||
``index_together``
|
||||
------------------
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue