Examples of erratic behaviour:
- The action is enabled when the dialog is first opened, before any changes are made
- The action is disabled when the language input is invalid BUT is enabled again if a change is made to the code input, even though the language input is still invalid
The second example means it's actually possible to save an invalid lang attribute.