fix: display "global" errors at top of form, if present
this probably could use more work, good enough for now
This commit is contained in:
parent
448dc9fc79
commit
6e4f390f3f
3 changed files with 62 additions and 0 deletions
|
@ -544,6 +544,34 @@ class TestForm(TestCase):
|
|||
data = form.get_vue_model_data()
|
||||
self.assertEqual(list(data.values()), ['one', 'two', True])
|
||||
|
||||
def test_has_global_errors(self):
|
||||
|
||||
def fail(node, value):
|
||||
node.raise_invalid("things are bad!")
|
||||
|
||||
schema = self.make_schema()
|
||||
schema.validator = fail
|
||||
form = self.make_form(schema=schema)
|
||||
self.assertFalse(form.has_global_errors())
|
||||
self.request.method = 'POST'
|
||||
self.request.POST = {'foo': 'one', 'bar': 'two'}
|
||||
self.assertFalse(form.validate())
|
||||
self.assertTrue(form.has_global_errors())
|
||||
|
||||
def test_get_global_errors(self):
|
||||
|
||||
def fail(node, value):
|
||||
node.raise_invalid("things are bad!")
|
||||
|
||||
schema = self.make_schema()
|
||||
schema.validator = fail
|
||||
form = self.make_form(schema=schema)
|
||||
self.assertEqual(form.get_global_errors(), [])
|
||||
self.request.method = 'POST'
|
||||
self.request.POST = {'foo': 'one', 'bar': 'two'}
|
||||
self.assertFalse(form.validate())
|
||||
self.assertTrue(form.get_global_errors(), ["things are bad!"])
|
||||
|
||||
def test_get_field_errors(self):
|
||||
schema = self.make_schema()
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue