Loading django/forms/fields.py +1 −1 Original line number Diff line number Diff line Loading @@ -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) Loading tests/regressiontests/forms/tests/fields.py +8 −0 Original line number Diff line number Diff line Loading @@ -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+$' Loading Loading
django/forms/fields.py +1 −1 Original line number Diff line number Diff line Loading @@ -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) Loading
tests/regressiontests/forms/tests/fields.py +8 −0 Original line number Diff line number Diff line Loading @@ -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+$' Loading