---
title: "FlashMessage finisher"
manual: "Form"
version: "14.3"
permalink: "https://docs.typo3.org/permalink/typo3/cms-form:concepts-finishers-flashmessagefinisher@14.3"
source: "I/Concepts/Finishers/ReadyToUseFinishers/FlashMessageFinisher/Index.rst"
rendered: "2026-09-19T11:59:02+00:00"
---

# FlashMessage finisher {#concepts-finishers-flashmessagefinisher}

The "FlashMessage finisher" is a basic finisher that adds a message to the
FlashMessageContainer.

**Table of contents**

-   [FlashMessage finisher options](https://docs.typo3.org/permalink/typo3/cms-form:flashmessage-finisher-options@14.3)
-   [FlashMessage finisher in a YAML form definition](https://docs.typo3.org/permalink/typo3/cms-form:flashmessage-finisher-in-a-yaml-form-definition@14.3)
-   [Using FlashMessage finishers in PHP code](https://docs.typo3.org/permalink/typo3/cms-form:using-flashmessage-finishers-in-php-code@14.3)

> [!NOTE]
> This finisher cannot be used in the backend form editor. It can only be used
> in a form definition YAML file or programmatically.

> [!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@14.3).

## FlashMessage finisher options {#apireference-finisheroptions-flashmessagefinisher-options}

The following options can be set (in the form definition YAML or
programmatically):

-   **messageBody**

    -   *Type:* string
    -   *Required:* true

    The flash message. May contain placeholders like `%s` that
    are replaced with `messageArguments`.

-   **messageTitle**

    -   *Type:* string
    -   *Default:* `''`

    If set, is the flash message title.

-   **messageArguments**

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

    If `messageBody` contains placeholders (like `%s`), they will be replaced
    by these.

-   **messageCode**

    -   *Type:* ?int
    -   *Default:* `null`

    A unique code to identify the message. By convention, the
    unix time stamp at the time when the message is created is used,
    for example `1758455932`.

-   **severity**

    -   *Type:* `\TYPO3\CMS\Core\Type\ContextualFeedbackSeverity`
    -   *Default:* `ContextualFeedbackSeverity::OK`

    The severity influences the display (color and icon) of the flash message.

-   **translation.propertiesExcludedFromTranslation**

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

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

    If set, these properties will not be processed by the
    `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@14.3)
    for an example.

## FlashMessage finisher in a YAML form definition {#concepts-finishers-flashmessagefinisher-yaml}

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

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

finishers:
  -
    identifier: FlashMessage
    options:
      messageTitle: 'Merci'
      messageCode: 201905041245
      messageBody: 'Thx for using %s'
      messageArguments:
        - 'TYPO3'
      severity: 0

```

## Using FlashMessage finishers in PHP code {#apireference-finisheroptions-flashmessagefinisher}

Developers can use the finisher key `FlashMessage` to create
flash message finishers in their own classes:

```php
<?php

use TYPO3\CMS\Core\Type\ContextualFeedbackSeverity;
use TYPO3\CMS\Form\Domain\Model\FormDefinition;

class SomeClass
{
    private function addFlashMessageFinisher(FormDefinition $formDefinition, string $message)
    {
        $formDefinition->createFinisher('FlashMessage', [
            'messageTitle' => 'Merci',
            'messageCode' => 201905041245,
            'messageBody' => 'Thx for using %s',
            'messageArguments' => ['TYPO3'],
            'severity' => ContextualFeedbackSeverity::OK,
        ]);
    }
}

```

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