---
title: "Confirmation finisher"
manual: "Form"
version: "13.4"
permalink: "https://docs.typo3.org/permalink/typo3/cms-form:finishers-confirmation-message@13.4"
source: "I/Concepts/Finishers/ReadyToUseFinishers/ConfirmationFinisher/Index.rst"
rendered: "2026-10-03T08:24:23+00:00"
---

# Confirmation finisher {#finishers-confirmation-message}

A basic finisher that outputs a given text or a content element, respectively.

**Table of contents**

-   [Options of the confirmation finisher](https://docs.typo3.org/permalink/typo3/cms-form:options-of-the-confirmation-finisher@13.4)
-   [Confirmation finisher in the YAML form definition](https://docs.typo3.org/permalink/typo3/cms-form:confirmation-finisher-in-the-yaml-form-definition@13.4)
-   [Skip translation of overridden form finisher options](https://docs.typo3.org/permalink/typo3/cms-form:skip-translation-of-overridden-form-finisher-options@13.4)
-   [Usage of the confirmation finisher in PHP code](https://docs.typo3.org/permalink/typo3/cms-form:usage-of-the-confirmation-finisher-in-php-code@13.4)

> [!IMPORTANT]
> Finishers are executed in the order defined in your form definition.
>
> See [Finisher execution order](https://docs.typo3.org/permalink/typo3/cms-form:concepts-finishers-execution-order@13.4).

## Options of the confirmation finisher {#apireference-finisheroptions-confirmationfinisher-options}

This finisher outputs a given text after the form has been submitted.

The settings of the finisher are as follows:

-   **message**

    -   *Type:* string
    -   *Default:* `The form has been submitted.`

    Displays this message if the `contentElementUid` is not set.

-   **contentElementUid**

    -   *Type:* int
    -   *Default:* 0

    Renders the content element with the ID supplied here.

-   **translation.propertiesExcludedFromTranslation**

    -   *Type:* array
    -   *Default:* `[]`

    Defines a list of finisher option properties that should be excluded from
    translation.

    When specified, the listed properties are not processed by the
    `\TYPO3\CMS\Form\Service\TranslationService` during translation
    of finisher options. This prevents their values from being replaced by
    translated equivalents, even if translations exist for those options.

    This option is usually generated automatically as soon as FlexForm overrides
    are in place and normally does not need to be set manually in the form
    definition.

    See [Skip translation of overridden form finisher options](https://docs.typo3.org/permalink/typo3/cms-form:concepts-finishers-confirmationfinisher-yaml-propertiesexcludedfromtranslation@13.4)
    for an example.

## Confirmation finisher in the YAML form definition {#concepts-finishers-confirmationfinisher-yaml}

A basic finisher that outputs a given text or a content element, respectively.

Usage within form definition for the case, you want to use a given text.

**public/fileadmin/forms/my_form.yaml**

```yaml
identifier: example-form
label: 'example'
type: Form

finishers:
  -
    identifier: Confirmation
    options:
      message: 'Thx for using TYPO3'
  # ...

```

Usage within form definition for the case, you want to output a content element.

**public/fileadmin/forms/my_form.yaml**

```yaml
identifier: example-form
label: 'example'
type: Form

finishers:
  -
    identifier: Confirmation
    options:
      contentElementUid: 42
  #...

```

## Skip translation of overridden form finisher options {#concepts-finishers-confirmationfinisher-yaml-propertiesexcludedfromtranslation}

Example for option [translation.propertiesExcludedFromTranslation](https://docs.typo3.org/permalink/typo3/cms-form:confval-confirmationfinisher-translation-propertiesexcludedfromtranslation@13.4).

The following example excludes three properties (subject, recipients and
format) from translation.

That way, the options can only be overridden within a FlexForm but not by the
`\TYPO3\CMS\Form\Service\TranslationService`.

This option is automatically generated as soon as FlexForm overrides are in place.

The following syntax is only documented for completeness. Nonetheless, it can
also be written manually into a form definition.

**public/fileadmin/forms/my_form.yaml**

```yaml
identifier: example-form
label: 'example'
type: Form

finishers:
  -
    options:
      identifier: EmailToSender
      subject: 'Email to sender'
      recipients:
        recipient@example.org: 'Some Name'
      translation:
        propertiesExcludedFromTranslation:
          - subject
          - recipients
          - format
  # ...

```

## Usage of the confirmation finisher in PHP code {#apireference-finisheroptions-confirmationfinisher}

Developers can create a confirmation finisher by using the key `Confirmation`:

```php
<?php

use TYPO3\CMS\Form\Domain\Model\FormDefinition;

class SomeClass
{
    private function addConfirmationnFinisherWithMessage(FormDefinition $formDefinition, string $message)
    {
        $formDefinition->createFinisher('Confirmation', [
            'message' => $message,
        ]);
    }
    private function addConfirmationnFinisherWithContentElement(FormDefinition $formDefinition, int $contentElementUid)
    {
        $formDefinition->createFinisher('Confirmation', [
            'contentElementUid' => $contentElementUid,
        ]);
    }
}

```

This finisher is implemented in `\TYPO3\CMS\Form\Domain\Finishers\ConfirmationFinisher`.
