Last updated May 16, 2019

When your module defines the form, and the form controller, you can add your validation logic as part of the form controller. This is done via the implementation of a validateForm() method. The FormBuilder service will automatically invoke this method at the appropriate time during the process of submitting a form. The method is required by \Drupal\Core\Form\FormInterface, though there's no requirement that it actually performs any type of validation. That part is up to you.

In this tutorial we'll:

  • Use the validateForm() method of a form controller to verify user input
  • Demonstrate how to raise errors on a form element when it doesn't pass validation

By the end of this tutorial you should know how to validate your custom forms.