code: def validate_element(self, value):
          
          if not isinstance(value, self.type):
  
              # Authorize int values as float.
              if isinstance(value, six.integer_types) and self.type == float:
                  return float(value)
  
              if value is None:
                  if self.required:
                      raise ValidationError('Required field is missing')
              else:
                  try:
                      name = self.name
                  except AttributeError:
                      raise ValidationError('Expected type %s for %s, '
                                            'found %s (type %s)' %
                                            (self.type, self.__class__.__name__,
                                             value, type(value)))
                  else:
                      raise ValidationError(
                          'Expected type %s for field %s, found %s (type %s)' %
                          (self.type, name, value, type(value)))
          return value
docs: Validate single element of field.
  
          This is different from validate in that it is used on individual
          values of repeated fields.
  
          Args:
            value: Value to validate.
  
          Returns:
            The value casted in the expected type.
  
          Raises:
            ValidationError if value is not expected type.