Skip to content

Commit

Permalink
Fixed #1767 -- boolean fields may now have validators! Thanks, Joseph.
Browse files Browse the repository at this point in the history
git-svn-id: http://code.djangoproject.com/svn/django/trunk@3467 bcc190cf-cafb-0310-a4f2-bffc1f526a37
  • Loading branch information
jacobian committed Jul 28, 2006
1 parent 09912cc commit a55fa02
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 4 deletions.
4 changes: 2 additions & 2 deletions django/db/models/fields/__init__.py
Expand Up @@ -247,9 +247,9 @@ def get_manipulator_fields(self, opts, manipulator, change, name_prefix='', rel=
params['is_required'] = not self.blank and not self.primary_key and not rel

# BooleanFields (CheckboxFields) are a special case. They don't take
# is_required or validator_list.
# is_required.
if isinstance(self, BooleanField):
del params['validator_list'], params['is_required']
del params['is_required']

# If this field is in a related context, check whether any other fields
# in the related object have core=True. If so, add a validator --
Expand Down
6 changes: 4 additions & 2 deletions django/forms/__init__.py
Expand Up @@ -434,10 +434,12 @@ def render(self, data):
(self.get_id(), self.field_name, escape(data))

class CheckboxField(FormField):
def __init__(self, field_name, checked_by_default=False):
def __init__(self, field_name, checked_by_default=False, validator_list=None):
if validator_list is None: validator_list = []
self.field_name = field_name
self.checked_by_default = checked_by_default
self.is_required, self.validator_list = False, [] # because the validator looks for these
self.is_required = False # because the validator looks for these
self.validator_list = validator_list[:]

def render(self, data):
checked_html = ''
Expand Down

0 comments on commit a55fa02

Please sign in to comment.