code: def validate_field_matches_type(field, value, field_type, select_items=None, _min=None, _max=None):
      
      if (field_type == defs.TEXT_TYPE and not isinstance(value, six.string_types)) or \
         (field_type == defs.STRING_TYPE and not isinstance(value, six.string_types)) or \
         (field_type == defs.BOOLEAN_TYPE and not isinstance(value, bool)) or \
         (field_type == defs.INTEGER_TYPE and not isinstance(value, int)):
          raise exceptions.ConfigFieldTypeMismatch(field, value, field_type)
  
      if field_type == defs.INTEGER_TYPE:
          if _min and value < _min:
              raise exceptions.ConfigFieldTypeMismatch(field, value, "must be higher than {}".format(_min))
          if _max and value > _max:
              raise exceptions.ConfigFieldTypeMismatch(field, value, "must be lower than {}".format(_max))
  
      if field_type == defs.SELECT_TYPE:
          from honeycomb.utils.plugin_utils import get_select_items
          items = get_select_items(select_items)
          if value not in items:
              raise exceptions.ConfigFieldTypeMismatch(field, value, "one of: {}".format(", ".join(items)))
docs: Validate a config field against a specific type.