aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/Data/PendingBang.hs8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/Data/PendingBang.hs b/src/Data/PendingBang.hs
index 05fafba..3a2aaa1 100644
--- a/src/Data/PendingBang.hs
+++ b/src/Data/PendingBang.hs
@@ -45,5 +45,11 @@ instance FromJSON PendingBang where
verifyPendingBang :: PendingBang -> Bool
verifyPendingBang (PendingBang n u dp mayEm) =
- T.all isAlphaNum n && all ((<255) . T.length) strings
+ T.all isAlphaNum n &&
+ all ((<255) . T.length) strings &&
+ emailOk mayEm
where strings = [n, u, dp] <> maybeToList mayEm
+ emailOk Nothing = True
+ emailOk (Just e) =
+ T.all (\c -> isAlphaNum c || c `T.elem` "@-.") e &&
+ T.take 1 e /= "-"