def _validate(self, conditions):
allowed_keys = set(self.searchkeys)<EOL>operators_set = set(self.operators.keys())<EOL>for condition in conditions:<EOL><INDENT>if set(condition.keys()) != allowed_keys:<EOL><INDENT>raise ze.ParamNotPassed(<EOL>"<STR_LIT>" % "<STR_LIT:U+002CU+0020>".join(self.searchkeys)<EOL>)<EOL><DEDENT>if condition.get("<STR_LIT>") not in operators_set:<EOL><INDENT>raise ze.ParamNotPassed(<EOL>"<STR_LIT>"<EOL>% condition.get("<STR_LIT>")<EOL>)<EOL><DEDENT>permitted_operators = self.conditions_operators.get(<EOL>condition.get("<STR_LIT>")<EOL>)<EOL>permitted_operators_list = set(<EOL>[self.operators.get(op) for op in permitted_operators]<EOL>)<EOL>if condition.get("<STR_LIT>") not in permitted_operators_list:<EOL><INDENT>raise ze.ParamNotPassed(<EOL>"<STR_LIT>"<EOL>% (<EOL>condition.get("<STR_LIT>"),<EOL>condition.get("<STR_LIT>"),<EOL>"<STR_LIT:U+002CU+0020>".join(list(permitted_operators_list)),<EOL>)<EOL>)<EOL><DEDENT><DEDENT>
Validate saved search conditions, raising an error if any contain invalid operators