Sitecore Name Value List field with special characters

The question came up and wrote it to Sitecore StackExchange. Thank you @jammykam for your answer.

The default Sitecore Name Value List field has an annoying issue. It does not allow to use special characters like ‘-‘ for the key. I just digged into the Sitecore.Kernel library and I found a regular expression validation which is hardcoded.

Let’s overwrite this class make it more flexible. The main issue with the implementation that they don’t encode/decode the URI.