---
title: "Deprecation: #100587 - Deprecate form engine additionalJavaScriptPost and custom eval inline JavaScript"
manual: "TYPO3 Core Changelog"
version: "main"
permalink: "https://docs.typo3.org/permalink/changelog:deprecation-100587-1681477405"
source: "Changelog/12.4/Deprecation-100587-DeprecateFormEngineAdditionalJavaScriptPostAndCustomEvalInlineJavaScript.rst"
typo3-version: "12.4"
typo3-major: 12
type: "deprecation"
issue: 100587
forge: "https://forge.typo3.org/issues/100587"
tags: ["Backend", "NotScanned", "ext:backend"]
rendered: "2026-09-19T12:12:50+00:00"
---

# Deprecation: #100587 - Deprecate form engine additionalJavaScriptPost and custom eval inline JavaScript {#deprecation-100587-1681477405}

See [forge#100587](https://forge.typo3.org/issues/100587)

## Description {#description}

The result property `additionalJavaScriptPost` of the form engine result array
is deprecated. It was used, for instance, in custom eval definitions, that provided
inline JavaScript (configured via `$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['tce']['formevals']`).

## Impact {#impact}

Custom form engine components that assign the result property `additionalJavaScriptPost`,
or custom eval class implementations for method `returnFieldJS()` that return a plain
string (which is used as inline JavaScript), will raise a deprecation level log message.

## Affected installations {#affected-installations}

Installations that use custom form engine components modifying the result array,
or custom eval class implementations for method `returnFieldJS()` returning
a plain string.

## Migration {#migration}

Instead of using inline JavaScript, functionality has to be bundled in a static
JavaScript module. Custom eval class implementations for method `returnFieldJS()`
have to return an instance of `\TYPO3\CMS\Core\Page\JavaScriptModuleInstruction`
instead of a plain string.

### Example {#example}

Deprecated custom eval implementation:

```php
<?php
namespace TYPO3\CMS\Redirects\Evaluation;

class SourceHost
{
    public function returnFieldJS(): string
    {
        $jsCode = [];
        $jsCode[] = 'if (value === \'*\') {return value;}';
        $jsCode[] = 'var parser = document.createElement(\'a\');';
        $jsCode[] = 'parser.href = value.indexOf(\'://\') != -1 ? value : \'http://\' + value;';
        $jsCode[] = 'return parser.host;';
        return implode(' ', $jsCode);
    }
}
```

Migrated custom eval implementation (JavaScript is now bundled in module
`@typo3/redirects/form-engine-evaluation.js`):

```php
<?php
namespace TYPO3\CMS\Redirects\Evaluation;

class SourceHost
{
    public function returnFieldJS(): JavaScriptModuleInstruction
    {
        return JavaScriptModuleInstruction::create(
            '@typo3/redirects/form-engine-evaluation.js',
            'FormEngineEvaluation'
        );
    }
}
```
