summaryrefslogtreecommitdiff
path: root/django/forms/fields.py
diff options
context:
space:
mode:
Diffstat (limited to 'django/forms/fields.py')
-rw-r--r--django/forms/fields.py11
1 files changed, 11 insertions, 0 deletions
diff --git a/django/forms/fields.py b/django/forms/fields.py
index 17c7956b53..0214d60c1c 100644
--- a/django/forms/fields.py
+++ b/django/forms/fields.py
@@ -350,6 +350,17 @@ class DecimalField(IntegerField):
raise ValidationError(self.error_messages['invalid'], code='invalid')
return value
+ def validate(self, value):
+ super().validate(value)
+ if value in self.empty_values:
+ return
+ if not value.is_finite():
+ raise ValidationError(
+ self.error_messages['invalid'],
+ code='invalid',
+ params={'value': value},
+ )
+
def widget_attrs(self, widget):
attrs = super().widget_attrs(widget)
if isinstance(widget, NumberInput) and 'step' not in widget.attrs: