mirror of https://github.com/django/django.git
Merge pull request #101 from jphalip/tickets/18409-regexfield-unicode
Fixed #18409 -- Made RegexField work with unicode characters.
This commit is contained in:
commit
314d82a94e
|
@ -446,7 +446,7 @@ class RegexField(CharField):
|
||||||
|
|
||||||
def _set_regex(self, regex):
|
def _set_regex(self, regex):
|
||||||
if isinstance(regex, basestring):
|
if isinstance(regex, basestring):
|
||||||
regex = re.compile(regex)
|
regex = re.compile(regex, re.UNICODE)
|
||||||
self._regex = regex
|
self._regex = regex
|
||||||
if hasattr(self, '_regex_validator') and self._regex_validator in self.validators:
|
if hasattr(self, '_regex_validator') and self._regex_validator in self.validators:
|
||||||
self.validators.remove(self._regex_validator)
|
self.validators.remove(self._regex_validator)
|
||||||
|
|
|
@ -478,6 +478,14 @@ class FieldsTests(SimpleTestCase):
|
||||||
self.assertRaisesMessage(ValidationError, "[u'Ensure this value has at most 10 characters (it has 11).']", f.clean, '12345678901')
|
self.assertRaisesMessage(ValidationError, "[u'Ensure this value has at most 10 characters (it has 11).']", f.clean, '12345678901')
|
||||||
self.assertRaisesMessage(ValidationError, "[u'Enter a valid value.']", f.clean, '12345a')
|
self.assertRaisesMessage(ValidationError, "[u'Enter a valid value.']", f.clean, '12345a')
|
||||||
|
|
||||||
|
def test_regexfield_6(self):
|
||||||
|
"""
|
||||||
|
Ensure that it works with unicode characters.
|
||||||
|
Refs #.
|
||||||
|
"""
|
||||||
|
f = RegexField('^\w+$')
|
||||||
|
self.assertEqual(u'éèøçÎÎ你好', f.clean(u'éèøçÎÎ你好'))
|
||||||
|
|
||||||
def test_change_regex_after_init(self):
|
def test_change_regex_after_init(self):
|
||||||
f = RegexField('^[a-z]+$')
|
f = RegexField('^[a-z]+$')
|
||||||
f.regex = '^\d+$'
|
f.regex = '^\d+$'
|
||||||
|
|
Loading…
Reference in New Issue