aboutsummaryrefslogtreecommitdiff
path: root/src/client/elm/Validation.elm
diff options
context:
space:
mode:
authorJoris2017-03-24 09:21:06 +0000
committerJoris2017-03-24 09:21:06 +0000
commitc0ac16a713c4e53cf6af8e72a6d5f6b8ac5d6456 (patch)
tree8a438430cee7411259fc395d8f3898488e85d750 /src/client/elm/Validation.elm
parent293eb8295162bf0a038f488237db9c9d1316c04d (diff)
parentcfca18262c1ff48dcb683ddab7d03cf8e55573ff (diff)
downloadbudget-c0ac16a713c4e53cf6af8e72a6d5f6b8ac5d6456.tar.gz
budget-c0ac16a713c4e53cf6af8e72a6d5f6b8ac5d6456.tar.bz2
budget-c0ac16a713c4e53cf6af8e72a6d5f6b8ac5d6456.zip
Merge branch 'features/categories' into 'master'
Features/categories See merge request !1
Diffstat (limited to 'src/client/elm/Validation.elm')
-rw-r--r--src/client/elm/Validation.elm20
1 files changed, 18 insertions, 2 deletions
diff --git a/src/client/elm/Validation.elm b/src/client/elm/Validation.elm
index 1729daa..18b3934 100644
--- a/src/client/elm/Validation.elm
+++ b/src/client/elm/Validation.elm
@@ -1,14 +1,18 @@
module Validation exposing
( date
+ , category
)
-import String exposing (toInt, split)
import Date exposing (Date)
-import Date.Extra.Create exposing (dateFromFields)
import Date.Extra.Core exposing (intToMonth)
+import Date.Extra.Create exposing (dateFromFields)
+import Dict
+import String exposing (toInt, split)
import Form.Validate as Validate exposing (..)
+import Model.Category exposing (Categories, CategoryId)
+
date : Validation String Date
date =
customValidation string (\str ->
@@ -20,3 +24,15 @@ date =
_ -> Err (customError "InvalidDate")
_ -> Err (customError "InvalidDate")
)
+
+category : Categories -> Validation String CategoryId
+category categories =
+ customValidation string (\str ->
+ case toInt str of
+ Ok category ->
+ if List.member category (Dict.keys categories)
+ then Ok category
+ else Err (customError "InvalidCategory")
+ Err _ ->
+ Err (customError "InvalidCategory")
+ )