Example #1
0
 def to_internal_value(self, data):
     """
     List of dicts of native values <- List of dicts of primitive datatypes.
     """
     if html.is_html_input(data):
         data = html.parse_html_list(data)
     if isinstance(data, type('')) or not hasattr(data, '__iter__'):
         self.fail('not_a_list', input_type=type(data).__name__)
     return [self.child.run_validation(item) for item in data]
Example #2
0
    def get_value(self, dictionary):
        # We override the default field access in order to support
        # lists in HTML forms.
        if html.is_html_input(dictionary):
            # Don't return [] if the update is partial
            if self.field_name not in dictionary:
                if getattr(self.root, 'partial', False):
                    return empty
            return dictionary.getlist(self.field_name)

        return dictionary.get(self.field_name, empty)
Example #3
0
 def to_internal_value(self, data):
     """
     Dicts of native values <- Dicts of primitive datatypes.
     """
     if html.is_html_input(data):
         data = html.parse_html_dict(data)
     if not isinstance(data, dict):
         self.fail('not_a_dict', input_type=type(data).__name__)
     return dict([
         (six.text_type(key), self.child.run_validation(value))
         for key, value in data.items()
     ])
Example #4
0
 def get_value(self, dictionary):
     """
     Given the *incoming* primitive data, return the value for this field
     that should be validated and transformed to a native value.
     """
     if html.is_html_input(dictionary):
         # HTML forms will represent empty fields as '', and cannot
         # represent None or False values directly.
         if self.field_name not in dictionary:
             if getattr(self.root, 'partial', False):
                 return empty
             return self.default_empty_html
         ret = dictionary[self.field_name]
         if ret == '' and self.allow_null:
             # If the field is blank, and null is a valid value then
             # determine if we should use null instead.
             return '' if getattr(self, 'allow_blank', False) else None
         return ret
     return dictionary.get(self.field_name, empty)
Example #5
0
 def get_value(self, dictionary):
     # We override the default field access in order to support
     # dictionaries in HTML forms.
     if html.is_html_input(dictionary):
         return html.parse_html_dict(dictionary, prefix=self.field_name)
     return dictionary.get(self.field_name, empty)
Example #6
0
 def get_value(self, dictionary):
     # We override the default field access in order to support
     # lists in HTML forms.
     if html.is_html_input(dictionary):
         return dictionary.getlist(self.field_name)
     return dictionary.get(self.field_name, empty)