code: def validate(self, input, is_substitute): # ToDo: apply 'no substitute' for initial load validations
          
          constraint = self.__get_constraint(input)
          to_validate = self.__get_to_validate(input)
          return self.__compare(to_validate, constraint)
docs: Performs validation
          :param input: object to validate
          :param is_substitute: will be used for what-if in the future
          :return: validation result if violated or None