

def validate(self, input_parameters):
    'Runs all set type transformers / validators against the provided input parameters and returns any errors'
    errors = {
        
    }
    for (key, type_handler) in self.interface.input_transformations.items():
        if self.raise_on_invalid:
            if (key in input_parameters):
                input_parameters[key] = type_handler(input_parameters[key])
        else:
            try:
                if (key in input_parameters):
                    input_parameters[key] = type_handler(input_parameters[key])
            except InvalidTypeData as error:
                errors[key] = (error.reasons or str(error.message))
            except Exception as error:
                if (hasattr(error, 'args') and error.args):
                    errors[key] = error.args[0]
                else:
                    errors[key] = str(error)
    for require in self.interface.required:
        if (not (require in input_parameters)):
            errors[require] = "Required parameter '{}' not supplied".format(require)
    if ((not errors) and getattr(self, 'validate_function', False)):
        errors = self.validate_function(input_parameters)
    return errors

dataset/ETHPy150Open timothycrosley/hug/hug/interface.py Interface.validate/original