Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

Fixed #13352 -- Added __repr__ method for Validation Error. Thanks to…

… elpaso66 for the report.

git-svn-id: http://code.djangoproject.com/svn/django/trunk@12976 bcc190cf-cafb-0310-a4f2-bffc1f526a37
  • Loading branch information...
commit d9aaad4e36ba2ebba13fd1c36da9eced4f7688ad 1 parent 1cec641
@freakboy3742 freakboy3742 authored
Showing with 19 additions and 1 deletion.
  1. +5 −0 django/core/exceptions.py
  2. +14 −1 tests/modeltests/validators/tests.py
View
5 django/core/exceptions.py
@@ -64,6 +64,11 @@ def __str__(self):
return repr(self.message_dict)
return repr(self.messages)
+ def __repr__(self):
+ if hasattr(self, 'message_dict'):
+ return 'ValidationError(%s)' % repr(self.message_dict)
+ return 'ValidationError(%s)' % repr(self.messages)
+
def update_error_dict(self, error_dict):
if hasattr(self, 'message_dict'):
if error_dict:
View
15 tests/modeltests/validators/tests.py
@@ -137,7 +137,20 @@ def test_func(self):
# Dynamically assemble a test class with the contents of TEST_DATA
class TestSimpleValidators(TestCase):
- pass
+ def test_single_message(self):
+ v = ValidationError('Not Valid')
+ self.assertEquals(str(v), "[u'Not Valid']")
+ self.assertEquals(repr(v), "ValidationError([u'Not Valid'])")
+
+ def test_message_list(self):
+ v = ValidationError(['First Problem', 'Second Problem'])
+ self.assertEquals(str(v), "[u'First Problem', u'Second Problem']")
+ self.assertEquals(repr(v), "ValidationError([u'First Problem', u'Second Problem'])")
+
+ def test_message_dict(self):
+ v = ValidationError({'first': 'First Problem'})
+ self.assertEquals(str(v), "{'first': 'First Problem'}")
+ self.assertEquals(repr(v), "ValidationError({'first': 'First Problem'})")
test_counter = 0
for validator, value, expected in TEST_DATA:
Please sign in to comment.
Something went wrong with that request. Please try again.