---
title: "Deprecation: #97035 - \"required\" option in \"eval\" keyword"
manual: "TYPO3 Core Changelog"
version: "main"
permalink: "https://docs.typo3.org/permalink/changelog:deprecation-97035"
source: "Changelog/12.0/Deprecation-97035-RequiredOptionInEvalKeyword.rst"
typo3-version: "12.0"
typo3-major: 12
type: "deprecation"
issue: 97035
forge: "https://forge.typo3.org/issues/97035"
tags: ["TCA", "NotScanned", "ext:core"]
rendered: "2026-09-20T18:31:11+00:00"
---

# Deprecation: #97035 - "required" option in "eval" keyword {#deprecation-97035}

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

## Description {#description}

Since [forge#67354](https://forge.typo3.org/issues/67354), the FormEngine may use `required` with a bool value
in a TCA field configuration, enabling the same functionality as the `required`
option within `eval`.

To clean up TCA and allow further refactoring, `'eval' => 'required`
has been marked as deprecated.

## Impact {#impact}

Using `required` within `eval` in TCA and FlexForm will trigger an automatic
migration and therefore trigger a PHP `E_USER_DEPRECATED` error.

## Affected Installations {#affected-installations}

All 3rd party extension either using `'eval' => 'required'` or
`<eval>required</eval>` are affected.

## Migration {#migration}

Migrate to `'required' => true` and `<required>1</required>` to avoid
automatic migration and hence a deprecation log entry.

Example before migration:

```php
'columns' => [
    'some_column' => [
        'title' => 'foo',
        'config' => [
            'eval' => 'trim,required',
        ],
    ],
],
```

Example after migration:

```php
'columns' => [
    'some_column' => [
        'title' => 'foo',
        'config' => [
            'required' => true,
            'eval' => 'trim',
        ],
    ],
],
```
