From 965c0f57875e27fd09df2fc72487f4651addb79b Mon Sep 17 00:00:00 2001 From: Joris Guyonvarch Date: Fri, 14 Aug 2015 17:43:10 +0200 Subject: Cost must not be negative --- src/client/Model/View/Payment/Add.elm | 2 +- src/client/Utils/Validation.elm | 8 +++++--- 2 files changed, 6 insertions(+), 4 deletions(-) (limited to 'src/client') diff --git a/src/client/Model/View/Payment/Add.elm b/src/client/Model/View/Payment/Add.elm index 5428c3d..5ab7a40 100644 --- a/src/client/Model/View/Payment/Add.elm +++ b/src/client/Model/View/Payment/Add.elm @@ -35,4 +35,4 @@ validateCost : String -> Translations -> Result String Int validateCost cost translations = cost |> validateNonEmpty (getMessage "CostRequired" translations) - |> flip Result.andThen (validateNumber (getMessage "CostMustBeNumber" translations)) + |> flip Result.andThen (validateNumber (getMessage "CostMustBeNumber" translations) (\number -> number >= 0)) diff --git a/src/client/Utils/Validation.elm b/src/client/Utils/Validation.elm index 0c1773e..b9bccb3 100644 --- a/src/client/Utils/Validation.elm +++ b/src/client/Utils/Validation.elm @@ -12,10 +12,12 @@ validateNonEmpty message str = then Err message else Ok str -validateNumber : String -> String -> Result String Int -validateNumber message str = +validateNumber : String -> (Int -> Bool) -> String -> Result String Int +validateNumber message numberForm str = case readInt str of Just number -> - Ok number + if numberForm number + then Ok number + else Err message Nothing -> Err message -- cgit v1.2.3