- Do you want to request a feature or report a bug?
bug
- What is the current behavior?
A boolean field without a default defined in config.yml will initially render as false, but the field will fail the required check:

Clicking the widget twice so it turns on and back off allows me to persist a value of false.
- If the current behavior is a bug, please provide the steps to reproduce.
-
label: Awesome
name: awesome
widget: boolean
You'll get an "AWESOME IS REQUIRED" error.
For the record, specifying default: false for the field makes the problem disappear.
Because default presently doesn't work for editor components, this problem makes it hard to get the boolean widget working in that setting.
- What is the expected behavior?
That the error does not show and awesome: false gets persisted. Or that an error is thrown early because the field doesn't have a default specified. Alternatively that a distinct "undefined" state be added for boolean fields so that you could at least tell the difference between "off" and "undefined".
- Please mention your versions where applicable.
Netlify CMS version: 1.8.4
Browser version: 67.0.3396.62/OSX
Node.JS version: 9.5.0
Operating System: Mac OSX 10.13.4 (High Sierra)
@erquhart/ @papandreou is this issue still valid? It's open but it looks like a fix was merged for widgets. Just looking for an issue to help out with :)
@TatisLois, I can still reproduce it with [email protected]. Which fix is that?
@TatisLois If you are still up for this, I can guide you on how to implement a simple fix for this issue.
@barthc that would be great, would love to take a crack at it
@TatisLois take a look at the createEmptyDraftData function, just check for boolean widgets that does not have any default value and assign a false value, that's it. Also add some comments to explain the assigment. You can DM me on gitter if you have any questions :+1:
I opened a PR in https://github.com/netlify/netlify-cms/pull/2525. Reviews are welcome 馃槉
This should be resolved when #1407 is resolved. Leaving open until then.
Specifying a false default as in - {label: "Noindex", name: "no_index", widget: "boolean", default: false} does not work for me. I am still forced to click twice on the toggle to make it falsy.