@@ -4,7 +4,8 @@ module Data.Tags.Validation (
44 ) where
55
66import Data.Text as T
7−import Data.Char
7+import Data.Char as C
8+import qualified Data.Set as S
89
910validateTag :: T.Text -> Maybe T.Text
1011validateTag tag =
@@ -17,6 +18,9 @@ validateTag tag =
1718validateTag' :: T.Text -> Bool
1819validateTag' = T.all validChar
1920
21+validChars :: S.Set Char
22+validChars = S.fromList "йцукенгшщзхъфывапролджэёячсмитьбюqwertyuiopasdfghjklzxcvbnm"
23+
2024validChar :: Char -> Bool
21−validChar '-' = True
22−validChar c = isAlphaNum c
25+validChar '_' = True
26+validChar c = S.member (C.toLower c) validChars