Module Development

Alter the User Registration Form for Drupal 8, 9, 10, and 11

Let's combine our knowledge of implementing hooks and hook_form_alter() to customize a form built by another module, the user registration form. For the Anytown Farmer's Market site's user registration form, we want to introduce 2 new features: a mandatory "Accept terms of use" checkbox and custom validation to prevent registration with the username "anytown".

In this tutorial, we'll:

  • Identify the form ID of the user registration form.
  • Incorporate new elements into the user registration form.
  • Implement additional validation logic.

By the end of this tutorial, you should be able to use hook_form_alter() to customize any existing Drupal form.

Drupal Module Developer Guide