class_docstr: A setting representing a range between two values
class_docstr_tok: ["A","setting","representing","a","range","between","two","values"]
code: def test_valid(self, pipeline):
      values = self.value_text.split(",")
      if len(values) < 2:
          raise ValidationError(
              "Minimum and maximum values must be separated by a comma",
              self,
          )
      if len(values) > 2:
          raise ValidationError("Only two values allowed", self)
      for value in values:
          try:
              self.str_to_value(value)
          except:
              raise ValidationError(
                  self.valid_format_text % value, self
              )
      v_min, v_max = [self.str_to_value(value) for value in values]
      if self._minval is not None and self._minval > v_min:
          raise ValidationError(
              "%s can't be less than %s"
              % (self.min_text, self.value_to_str(self._minval)),
              self,
          )
      if self._maxval is not None and self._maxval < v_max:
          raise ValidationError(
              "%s can't be greater than %s"
              % (self.max_text, self.value_to_str(self._maxval)),
              self,
          )
      if v_min > v_max:
          raise ValidationError(
              "%s is greater than %s" % (self.min_text, self.max_text),
              self,
          )
  
imports: import logging
  from .._setting import Setting
  from .._validation_error import ValidationError
label_desc: Use image node_id 15 for calling the Range obj's underlying member method code with example usage: obj.test_valid(pipeline) without return types