Index: django/forms/__init__.py
===================================================================
--- django/forms/__init__.py	(revision 3278)
+++ django/forms/__init__.py	(working copy)
@@ -53,6 +53,7 @@
 
     def get_validation_errors(self, new_data):
         "Returns dictionary mapping field_names to error-message lists"
+        self.prepare(new_data)
         errors = {}
         for field in self.fields:
             errors.update(field.get_validation_errors(new_data))
@@ -636,7 +637,7 @@
             if str(value) in str_data_list:
                 checked_html = ' checked="checked"'
             field_name = '%s%s' % (self.field_name, value)
-            output.append('<li><input type="checkbox" id="%s" class="v%s" name="%s"%s /> <label for="%s">%s</label></li>' % \
+            output.append('<li><input type="checkbox" id="%s" class="v%s" name="%s"%s value="on" /> <label for="%s">%s</label></li>' % \
                 (self.get_id() + value , self.__class__.__name__, field_name, checked_html,
                 self.get_id() + value, choice))
         output.append('</ul>')
