Drupal-8-user-register-hook Apr 2026
Best for modifying data (e.g., adding a default role) before it hits the database. Runs after the user is created.
If you need to stop registration based on custom business logic (e.g., checking an external blacklist), use a custom validation handler via hook_form_alter . drupal-8-user-register-hook
use Drupal\user\UserInterface; /** * Implements hook_ENTITY_TYPE_presave() for user entities. */ function my_module_user_presave(UserInterface $user) { // Check if this is a new user registration if ($user->isNew()) { // Perform custom logic, e.g., set a field value $user->set('field_welcome_status', 'Pending'); } } Use code with caution. Copied to clipboard 🎯 Key Considerations Best for modifying data (e
For cleaner, decoupled code, consider Symfony Event Subscribers if you are using the Hook Event Dispatcher module. Best for modifying data (e.g.