diff options
author | Joris | 2016-01-02 19:07:19 +0100 |
---|---|---|
committer | Joris | 2016-01-02 19:07:19 +0100 |
commit | bb316286b0859b5648c61f44c88399f4c1aad9cd (patch) | |
tree | ecbe401c1ff657987b6609997a69775969a317f7 /src/client/elm/Model/View/LoggedIn/AddPayment.elm | |
parent | 0d0c99fd28b782c7daf02fb5cc48d3eb252e705d (diff) |
Use start-app for elm
Diffstat (limited to 'src/client/elm/Model/View/LoggedIn/AddPayment.elm')
-rw-r--r-- | src/client/elm/Model/View/LoggedIn/AddPayment.elm | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/src/client/elm/Model/View/LoggedIn/AddPayment.elm b/src/client/elm/Model/View/LoggedIn/AddPayment.elm new file mode 100644 index 0000000..b70b0c6 --- /dev/null +++ b/src/client/elm/Model/View/LoggedIn/AddPayment.elm @@ -0,0 +1,43 @@ +module Model.View.LoggedIn.AddPayment + ( AddPayment + , Frequency(..) + , initAddPayment + , validateName + , validateCost + ) where + +import Result as Result exposing (Result(..)) + +import Utils.Validation exposing (..) + +import Model.Translations exposing (..) + +type alias AddPayment = + { name : String + , nameError : Maybe String + , cost : String + , costError : Maybe String + , frequency : Frequency + } + +initAddPayment : Frequency -> AddPayment +initAddPayment frequency = + { name = "" + , nameError = Nothing + , cost = "" + , costError = Nothing + , frequency = frequency + } + +validateName : String -> Translations -> Result String String +validateName name translations = + name + |> validateNonEmpty (getMessage "CategoryRequired" translations) + +validateCost : String -> Translations -> Result String Int +validateCost cost translations = + cost + |> validateNonEmpty (getMessage "CostRequired" translations) + |> flip Result.andThen (validateNumber (getMessage "CostRequired" translations) ((/=) 0)) + +type Frequency = Punctual | Monthly |