Commit 314d82a9 authored by Julien Phalip's avatar Julien Phalip
Browse files

Merge pull request #101 from jphalip/tickets/18409-regexfield-unicode

Fixed #18409 -- Made RegexField work with unicode characters.
parents ba10be70 f6fc83c9
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -446,7 +446,7 @@ class RegexField(CharField):

    def _set_regex(self, regex):
        if isinstance(regex, basestring):
            regex = re.compile(regex)
            regex = re.compile(regex, re.UNICODE)
        self._regex = regex
        if hasattr(self, '_regex_validator') and self._regex_validator in self.validators:
            self.validators.remove(self._regex_validator)
+8 −0
Original line number Diff line number Diff line
@@ -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'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):
        f = RegexField('^[a-z]+$')
        f.regex = '^\d+$'