The module in question has a content entity, entity1, that has another content entity, entity2, that depends on entity1. I would like to add a warning before uninstall of the module if there are currently entity2's that exist and that depend on entity1. The warning will suggest to delete the entity2 and then entity1 before the module can be uninstalled. How could I do this?


Before a module is uninstalled, Drupal invokes all the services implementing UninstallValidatorInterface and tagged with module_install.uninstall_validator. Their validate() method (see BookUninstallValidator::validate(), for example) returns an array of strings explaining why the module cannot be uninstalled, which are then shown in the user interface.

Notice that the validate() method receives the name of the module as parameter. While normally the module implementing the UninstallValidatorInterface service checks if itself can be uninstalled, a UninstallValidatorInterface service can avoid any module is uninstalled.

In Drupal 7, there isn't anything similar. The only way to achieve this is altering the page showing the list of the installed modules to show a message near a module.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.