diff --git a/src/wtforms/form.py b/src/wtforms/form.py index b1679b37..a63510f8 100644 --- a/src/wtforms/form.py +++ b/src/wtforms/form.py @@ -279,15 +279,17 @@ def __delattr__(self, name): else: super().__delattr__(name) - def validate(self): - """ - Validates the form by calling `validate` on each field, passing any - extra `Form.validate_` validators to the field validator. - """ + def _get_extras(self): extra = {} for name in self._fields: inline = getattr(self.__class__, "validate_%s" % name, None) if inline is not None: extra[name] = [inline] + return extra - return super().validate(extra) + def validate(self): + """ + Validates the form by calling `validate` on each field, passing any + extra `Form.validate_` validators to the field validator. + """ + return super().validate(self._get_extras())