Skip to content

Commit 1af1683

Browse files
committed
fix: use empty string instead of None as form errors key
1 parent c393b48 commit 1af1683

File tree

3 files changed

+11
-2
lines changed

3 files changed

+11
-2
lines changed

CHANGES.rst

+8
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,14 @@ Unreleased
1616
can validate multiple valued fields like :class:`~fields.SelectMultipleField`
1717
:pr:`538` :pr:`807`
1818

19+
- Breaking change: The key for form errors moved from :data:`None` to
20+
empty string `""`. :issue:`829` :pr:`858`
21+
22+
.. note::
23+
If you need to keep the old behavior you can set the ``_form_error_key``
24+
parameter of you form to :data:`None`.
25+
26+
1927
Version 3.1.2
2028
-------------
2129

src/wtforms/form.py

+2-1
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ def __init__(self, fields, prefix="", meta=_default_meta):
3030
prefix += "-"
3131

3232
self.meta = meta
33+
self._form_error_key = ""
3334
self._prefix = prefix
3435
self._fields = OrderedDict()
3536

@@ -155,7 +156,7 @@ def data(self):
155156
def errors(self):
156157
errors = {name: f.errors for name, f in self._fields.items() if f.errors}
157158
if self.form_errors:
158-
errors[None] = self.form_errors
159+
errors[self._form_error_key] = self.form_errors
159160
return errors
160161

161162

tests/test_form.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -204,7 +204,7 @@ def validate(self):
204204
f = F(a=0, b=1)
205205
assert not f.validate()
206206
assert ["a + b should be even"] == f.form_errors
207-
assert ["a + b should be even"] == f.errors[None]
207+
assert ["a + b should be even"] == f.errors[""]
208208

209209

210210
def test_field_adding_disabled():

0 commit comments

Comments
 (0)