When typing a name for a new content type or a new view, its machine name is automatically generated as the user types. There is an "edit" link next to it, so that the machine name can be manually edited to be different from the human-readable name:

screen shot 2019-02-13 at 6 49 32 am

This "manual" mode for the machine name also kicks in when validation for a machine-name-enabled field fails (when the user leaves the field blank for example). The "Machine-readable name" field in these cases is being exposed, so that the user can free-type the machine name themselves:

screen shot 2019-02-13 at 6 56 55 am

When the "Machine-readable name" field is exposed, non-valid characters are allowed to be typed:

screen shot 2019-02-13 at 6 53 23 am

...only to throw validation errors when the form gets saved:

screen shot 2019-02-13 at 7 00 22 am

Describe the solution you'd like Have it so that as the user types in the machine name manually, the same javascript kicks in as when we are automatically creating the machine name for them. So:

  • if the user types capital letters, they are converted to their respective lower-case ones.
  • if the user types non-latin letter, they are converted to their respective phonetic replacement combos.
  • if the user types symbols, they are either ignored, or replaced with an underscore.
GitHub Issue #: 
3541