code: def validate_all_keys(obj_name, obj, validation_fun):
      
      for key, value in obj.items():
          validation_fun(obj_name, key)
          if isinstance(value, dict):
              validate_all_keys(obj_name, value, validation_fun)
docs: Validate all (nested) keys in `obj` by using `validation_fun`.
  
          Args:
              obj_name (str): name for `obj` being validated.
              obj (dict): dictionary object.
              validation_fun (function): function used to validate the value
              of `key`.
  
          Returns:
              None: indicates validation successful
  
          Raises:
              ValidationError: `validation_fun` will raise this error on failure