def validate(self, doc): """ This method is in charge of validating that the setting key is a valid key, and that for that key, the provided value is valid. It first allows plugins to validate the setting, but if none of them can, it assumes it is a core setting and does the validation here. """ key = doc['key'] validator = setting_utilities.getValidator(key) if validator: validator(doc) else: raise ValidationException('Invalid setting key "%s".' % key, 'key') return doc