Drupal-8-user-register-hook Guide

For cleaner, decoupled code, consider Symfony Event Subscribers if you are using the Hook Event Dispatcher module.

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 .

This is the standard approach to identify a vs. an existing user being updated. drupal-8-user-register-hook

Do you need help on the registration form, or are you looking to redirect users after they sign up?

The most effective way to intercept or modify user data during registration is through the following hooks: Usage Note Runs before the user is saved. an existing user being updated

Best for modifying data (e.g., adding a default role) before it hits the database. Runs after the user is created.

To hook into the user registration process in Drupal 8 (and 9/10+), you typically use entity hooks since users are treated as content entities. 🛠️ Recommended Hooks Best for modifying data (e

Inside presave , always call $user->isNew() to ensure your code only runs during initial registration rather than every time a profile is updated.