Drupal-8-user-register-hook

Use this for actions that require the new User ID, like sending a custom welcome email or creating related profile entries. Modifies the registration form .

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.

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

Use this to add custom fields or validation logic (e.g., matching a secondary database). 💻 Code Example: hook_user_presave Use this for actions that require the new

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 .

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 Inside presave , always call $user->isNew() to ensure

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