Problem/Motivation
When the machine name is the same as an existing one and ajax is used a fatal error happens.Drupal\Core\Entity\EntityStorageException: 'filter_format' entity with ID 'basic_html' already exists
Steps to reproduce:
Go to /admin/config/content/formats/add
Set name with basic_html
Change text editor to CKEditor
Save.
Proposed Resolution
Set an explicit property on form state to revalidate when an error is set.
Remaining Tasks
Review
Why this should be an RC target
- It has at least one broken example in core
- Contrib developers shouldn't worry about setting #limit_validation_errors (as was proposed in the original patch) or writing tests for their forms when a machine name is on it
- End users are stuck with a WSOD, with not explanation
- While it's not exactly data loss, it's annoying if you have a really big configuration form
Disruptions
none, just better DX