code: def check_valid(self):
  		
  		for k,input in self.inputs.items():
  			if k in self.valid_opts:
  				for param in self.valid_opts[k]:
  					if param is None or input is None:
  						return True
  					elif type(param) is str and '+' in param:
  						if re.search(r'^'+param,str(input)):
  							return True
  					elif type(param) is bool and type(input) is bool:
  						return True
  					elif type(param) is list and type(input) is list:
  						return True
  					else:
  						if str(input).lower() == str(param):
  							return True
  				raise ValueError("Invalid input for '%s' parameter. Options are: %s" % (k,' '.join(["'%s'," % str(o) for o in self.valid_opts[k]]) ))
  			else:
  				raise ValueError("Invalid parameter for '%s'. Params are: %s" % (self.__class__.__name__,', '.join(["'%s'" % p for p in self.valid_opts.keys()]) ))
docs: check if input is valid