decaporg / decaporg/decap-cms

required ignored in fields inside a list on i18n translations

Open
#5,653 0 comments 4 reactions 0 assignees View on GitHub
area: extensions/widgets/list area: i18n type: bug
Dominant language
JavaScript
Stars
19.4k
Forks
3.1k
Avg merge
1d 14h
Merged PRs (30d)
9

Description

**Describe the bug**
`required` on fields inside a `list` field is ignored for i18n transitions.
`required` is only respected in the first translation but is not respected for other translations.

**To Reproduce**
1) Clone the repo
```
git clone https://github.com/surjithctly/neat-starter.git
```

2) Use the config given below

3) Start local netlify proxy
```
npx netlify-cms-proxy-server
```

4) Start local dev server
```
npm run start
```

5) Go to http://localhost:8080/admin

6) Click on `media channels`
7) Click on `Add distribution` on **Writing in ES**

8) Publish while `channel` is empty

**Expected behavior**
Expected to see error message `Channel field is required`

**Actual Behaviour**
Was able to save with empty field

**Screenshots**
![image](https://user-images.githubusercontent.com/20378877/127322738-dde1c94b-0f86-4059-9375-076b2ae7dc96.png)

**Applicable Versions:**

- netlify-cms-app 2.15.30
- netlify-cms-core 2.46.0
- index.js:27 netlify-cms 2.10.150
- Browser version Chrome 92 on MacOS Big Sur `11.4 `

- Node.JS version: `v16.1.0`

**CMS configuration**
```
i18n:
structure: single_file
locales: [en, es, ar, hi, zh]
default_locale: en

backend:
# Use netlify identity as backend
name: git-gateway
branch: master
### enable below lines for github integration ###
# name: github
# repo: surjithctly/neat-starter
media_folder: "src/static/img"
public_folder: "/static/img"

# Please run "npx netlify-cms-proxy-server" for local backend
local_backend: true
# publish_mode: editorial_workflow
collections:
[
{
label: "Repeated Content Blocks",
name: "generalAreas",
i18n: true,
files:
[
{
name: "media",
label: "Media Channels",
file: "src/_data/channels.json",
i18n: true,
fields:
[
{
label: "Distribution",
name: "distribution",
widget: "list",
required: true,
allow_add: true,
i18n: true,
fields:
[
{
name: "channel",
label: "Channel",
widget: "string",
i18n: true,
required: true,
},
],
},
],
},

],
},
]

```

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.