What is the role of the "dash" symbol in Directus?

I hope somebody out there can help me understand. I use in my password system the “-” (dash) symbol. But Directus, when “Auth Password Policy” is set to “strong”, does not recognise it as a “special character”. Instead I need to use a # or ? or whatever. That bothers me a little bit, because it interferes with my oh-so-carefully designed password system. So I wonder: is there a specific reason, why Directus does not allow the dash symbol to be a special character?

There is a 2nd place, where the dash symbol is making an awkward appearance: in the automatic naming of fields, when creating a collection. E.g., I use the accordion group rather often, and whenever the automatic name is created, a “-” is used. Really always. But - the Directus database system does not even allow dashes. So whenever I try to save a new field with such an automatically created name, an error is thrown. Is there a reason, why Directus uses an automatism that eventually is not valid? I would vote for replacing the dash with an underscore, since that would be a valid string. But maybe the Directus crew had a specific reason for that?

In my opinion both issues should be fixed and I would be happy to prepare a github issue. But I might be wrong, so before I go ahead and do so, I would really love to read if I maybe missed something, what you opinions are etcetc. Thank you, guys!

Hey @rowild, great questions! For your oh-so-carefully designed password system, you could create a custom javascript regex rule to enforce any requirements you’d like, including allowing dashes, the docs on best security practices are here.

On groups, we tested this in a project and it was working fine with the default names that are generated with the “-” in them for the project, this may be a bug so please go ahead and create a GitHub issue. Thanks!