I am working through a Drupal 8 module building exercise from YouTube and I am not able to figure out what is causing an error. The relevant page loads and displays the form but I get the following error message:
Notice: Trying to get property of non-object in DrupalrsvplistFormRSVPForm->buildForm() (line 29 of modules/custom/rsvplist/src/Form/RSVPForm.php).
DrupalrsvplistFormRSVPForm->buildForm(Array, Object) call_user_func_array(Array, Array) (Line: 518) DrupalCoreFormFormBuilder->retrieveForm(‘rsvplist_email_form’, Object) (Line: 275) DrupalCoreFormFormBuilder->buildForm(‘rsvplist_email_form’, Object) (Line: 93) DrupalCoreControllerFormController->getContentResult(Object, Object) call_user_func_array(Array, Array) (Line: 123) DrupalCoreEventSubscriberEarlyRenderingControllerWrapperSubscriber->DrupalCoreEventSubscriber{closure}() (Line: 582) DrupalCoreRenderRenderer->executeInRenderContext(Object, Object) (Line: 124) DrupalCoreEventSubscriberEarlyRenderingControllerWrapperSubscriber->wrapControllerExecutionInRenderContext(Array, Array) (Line: 97) DrupalCoreEventSubscriberEarlyRenderingControllerWrapperSubscriber->DrupalCoreEventSubscriber{closure}() (Line: 151) SymfonyComponentHttpKernelHttpKernel->handleRaw(Object, 1) (Line: 68) SymfonyComponentHttpKernelHttpKernel->handle(Object, 1, 1) (Line: 57) DrupalCoreStackMiddlewareSession->handle(Object, 1, 1) (Line: 47) DrupalCoreStackMiddlewareKernelPreHandle->handle(Object, 1, 1) (Line: 99) Drupalpage_cacheStackMiddlewarePageCache->pass(Object, 1, 1) (Line: 78) Drupalpage_cacheStackMiddlewarePageCache->handle(Object, 1, 1) (Line: 47) DrupalCoreStackMiddlewareReverseProxyMiddleware->handle(Object, 1, 1) (Line: 38) DrupalwebprofilerStackMiddlewareWebprofilerMiddleware->handle(Object, 1, 1) (Line: 52) DrupalCoreStackMiddlewareNegotiationMiddleware->handle(Object, 1, 1) (Line: 23) StackStackedHttpKernel->handle(Object, 1, 1) (Line: 693) DrupalCoreDrupalKernel->handle(Object) (Line: 19)
The code for the form is here:
<?php /** *@file *Contains DrupalrsvplistFormRSVPForm */ namespace DrupalrsvplistForm; use DrupalCoreDatabaseDatabase; use DrupalCoreFormFormBase; use DrupalCoreFormFormStateInterface; /** *Provides an RSVP email form */ class RSVPForm extends FormBase { /** * (@inheritdoc) */ public function getFormId() { return 'rsvplist_email_form'; } /** * (@inheritdoc) */ public function buildForm(array $form, FormStateInterface $form_state) { $node = Drupal::routeMatch()->getParameter('node'); $nid = $node->nid->value; $form['email'] = array( '#title' => t('email address'), '#type' => 'textfield', '#size' => 25, '#description' => t("We will send updates to the email address you provide"), '#required' => TRUE, ); $form['submit'] = array( '#type' => 'submit', '#value' => t('RSVP'), ); $form['nid'] = array( '#type' => 'hidden', '#value' => $nid, ); return $form; } public function submitForm(array &$form, FormStateInterface $form_state) { drupal_set_message(t('The form is working')); } }
The Drupal version is 8.6.15. PHP Version is 7.0.15 Can anyone spot an error I am missing?