summaryrefslogtreecommitdiff
path: root/django
diff options
context:
space:
mode:
authorMarc SeguĂ­ Coll <metarizard@gmail.com>2022-05-08 00:53:13 +0200
committerMariusz Felisiak <felisiak.mariusz@gmail.com>2022-05-10 13:42:31 +0200
commit262fde94de5eb6544fc0f289575583436613c045 (patch)
treed0b5f41d41a4e4d86a2973bfb260350e4dab8c0e /django
parent667105877e6723c6985399803a364848891513cc (diff)
Fixed #33622 -- Allowed customizing error messages for invalid number of forms.
Co-authored-by: Mariusz Felisiak <felisiak.mariusz@gmail.com>
Diffstat (limited to 'django')
-rw-r--r--django/forms/formsets.py26
1 files changed, 13 insertions, 13 deletions
diff --git a/django/forms/formsets.py b/django/forms/formsets.py
index 2df80297d3..3adbc6979a 100644
--- a/django/forms/formsets.py
+++ b/django/forms/formsets.py
@@ -6,7 +6,7 @@ from django.forms.utils import ErrorList, RenderableFormMixin
from django.forms.widgets import CheckboxInput, HiddenInput, NumberInput
from django.utils.functional import cached_property
from django.utils.translation import gettext_lazy as _
-from django.utils.translation import ngettext
+from django.utils.translation import ngettext_lazy
__all__ = ("BaseFormSet", "formset_factory", "all_valid")
@@ -61,6 +61,16 @@ class BaseFormSet(RenderableFormMixin):
"ManagementForm data is missing or has been tampered with. Missing fields: "
"%(field_names)s. You may need to file a bug report if the issue persists."
),
+ "too_many_forms": ngettext_lazy(
+ "Please submit at most %(num)d form.",
+ "Please submit at most %(num)d forms.",
+ "num",
+ ),
+ "too_few_forms": ngettext_lazy(
+ "Please submit at least %(num)d form.",
+ "Please submit at least %(num)d forms.",
+ "num",
+ ),
}
template_name_div = "django/forms/formsets/div.html"
@@ -425,12 +435,7 @@ class BaseFormSet(RenderableFormMixin):
TOTAL_FORM_COUNT
] > self.absolute_max:
raise ValidationError(
- ngettext(
- "Please submit at most %d form.",
- "Please submit at most %d forms.",
- self.max_num,
- )
- % self.max_num,
+ self.error_messages["too_many_forms"] % {"num": self.max_num},
code="too_many_forms",
)
if (
@@ -441,12 +446,7 @@ class BaseFormSet(RenderableFormMixin):
< self.min_num
):
raise ValidationError(
- ngettext(
- "Please submit at least %d form.",
- "Please submit at least %d forms.",
- self.min_num,
- )
- % self.min_num,
+ self.error_messages["too_few_forms"] % {"num": self.min_num},
code="too_few_forms",
)
# Give self.clean() a chance to do cross-form validation.