diff --git a/CHANGELOG.md b/CHANGELOG.md index b112c2d..974b47c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,10 @@ Versioning](https://semver.org/spec/v2.0.0.html). ## [Unreleased] +### Fixed + +- Handled errors in form preview + ## [1.1.0] ### Added diff --git a/src/Controller/WebformController.php b/src/Controller/WebformController.php index fe31ce8..98bc53f 100644 --- a/src/Controller/WebformController.php +++ b/src/Controller/WebformController.php @@ -139,7 +139,19 @@ public function index(): array { else { foreach ($webforms as $webform) { $attributes = $webform->attributes; - $form = $this->webformHelper->getSubmissionForm($attributes['elements']); + try { + $form = $this->webformHelper->getSubmissionForm($attributes['elements']); + } + catch (\Throwable $t) { + $form = [ + '#theme' => 'status_messages', + '#message_list' => [ + 'error' => [ + $this->t('Cannot render form: @message', ['@message' => $t->getMessage()]), + ], + ], + ]; + } // Make sure that the form cannot be submitted (hopefully). $form['#attributes']['onsubmit'] = 'return false';