---
title: "Breaking: The job validation settings are merged per field"
manual: "Academic Jobs"
version: "main"
permalink: "https://docs.typo3.org/permalink/fgtclb/academic-jobs:breaking-job-validation-settings-merged-per-field@main"
source: "Changelog/3.0/Breaking-JobValidationSettingsMergedPerField.rst"
rendered: "2026-10-12T10:12:12+00:00"
---

# Breaking: The job validation settings are merged per field {#breaking-job-validation-settings-merged-per-field}

## Description {#description}

When more than one package ships
`Configuration/AcademicJobs/Settings.yaml`, the files are merged the
way the persons settings are: in package loading order, a later package
changes only the fields it names, at any depth. A list of flags replaces the
flags of that field, and `~` removes the field.

Until now the files were merged on the top level only, so a site package that
defined `validations` replaced the whole block, and the manual asked for
a copy of it.

## Impact {#impact}

A copy of the whole block keeps the flags of every field it names, including
the ones **academic_jobs** changed since: a copy of the 2.x block keeps
`number` on the contact phone, which the settings now apply to the
backend, see [Breaking: The job validation settings reach the backend](https://docs.typo3.org/permalink/fgtclb/academic-jobs:breaking-job-validation-settings-reach-the-backend@main). A field
the copy leaves out is no longer dropped: it keeps the flags
**academic_jobs** ships.

## Affected installations {#affected-installations}

Installations whose site package ships
`Configuration/AcademicJobs/Settings.yaml` and leaves out a field the
shipped file configures, to make that field optional.

## Migration {#migration}

Name the field with an empty list, or with `~` to remove it. The
difference shows in the backend: an empty list makes the field optional there
as well, `~` leaves the backend field as the TCA declares it. The rest of
the copy can go, a site package needs to name only what it changes:

**EXT:my_sitepackage/Configuration/AcademicJobs/Settings.yaml**

```yaml
validations:
  job:
    description: []
```
