code: def validate(self, path, schema, value, results):
          
          name = path if path != None else "value"
          found = []
  
          for prop in self._properties:
              property_value = ObjectReader.get_property(value, prop)
              if property_value != None:
                  found.append(prop)
  
          if len(found) == 0:
              results.append(
                  ValidationResult(
                      path,
                      ValidationResultType.Error,
                      "VALUE_NULL",
                      name + " must have at least one property from " + str(self._properties),
                      self._properties,
                      None
                  )
              )
docs: Validates a given value against this rule.
  
          :param path: a dot notation path to the value.
  
          :param schema: a schema this rule is called from
  
          :param value: a value to be validated.
  
          :param results: a list with validation results to add new results.