summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHonza Král <honza.kral@gmail.com>2009-08-05 01:22:48 +0000
committerHonza Král <honza.kral@gmail.com>2009-08-05 01:22:48 +0000
commit37ce9a503511eb612a5d17f9908cf4f6f72f9a7b (patch)
tree0ae24689deb926fe269d7da5c897d743d97b9dda
parent8d4417c75df30502f47abf6bd3582dfa2425f562 (diff)
[soc2009/model-validation] Converted CommaSeparatedIntegerField to use validators
git-svn-id: http://code.djangoproject.com/svn/django/branches/soc2009/model-validation@11394 bcc190cf-cafb-0310-a4f2-bffc1f526a37
-rw-r--r--django/core/validators.py8
-rw-r--r--django/db/models/fields/__init__.py4
2 files changed, 9 insertions, 3 deletions
diff --git a/django/core/validators.py b/django/core/validators.py
index 3fc750481e..00535243aa 100644
--- a/django/core/validators.py
+++ b/django/core/validators.py
@@ -40,6 +40,14 @@ def validate_ipv4_address(value):
code="invalid"
)
+comma_separated_int_list_re = re.compile('^[\d,]+$')
+
+def validate_comma_separated_integer_list(value):
+ if not comma_separated_int_list_re.search(smart_unicode(value)):
+ raise ValidationError(
+ _(u'Enter only digits separated by commas.'),
+ code="invalid"
+ )
class MaxValueValidator(object):
def __init__(self, max_value):
diff --git a/django/db/models/fields/__init__.py b/django/db/models/fields/__init__.py
index 8b51ac69a9..9f666f1bc6 100644
--- a/django/db/models/fields/__init__.py
+++ b/django/db/models/fields/__init__.py
@@ -491,11 +491,9 @@ class CharField(Field):
# TODO: Maybe move this into contrib, because it's specialized.
class CommaSeparatedIntegerField(CharField):
+ default_validators = [validators.validate_comma_separated_integer_list]
def formfield(self, **kwargs):
defaults = {
- 'form_class': forms.RegexField,
- 'regex': '^[\d,]+$',
- 'max_length': self.max_length,
'error_messages': {
'invalid': _(u'Enter only digits separated by commas.'),
}