Drupal-8-user-register-hook Official
Use this to add custom fields or validation logic (e.g., matching a secondary database). 💻 Code Example: hook_user_presave
Best for modifying data (e.g., adding a default role) before it hits the database. Runs after the user is created.
Do you need help on the registration form, or are you looking to redirect users after they sign up? drupal-8-user-register-hook
Inside presave , always call $user->isNew() to ensure your code only runs during initial registration rather than every time a profile is updated.
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
This is the standard approach to identify a vs. an existing user being updated.
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 . Do you need help on the registration form,
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 .