From d77972ab601eac1ca1f7ba2498e4f878c590b534 Mon Sep 17 00:00:00 2001 From: Rune Date: Thu, 22 Sep 2011 09:21:00 +0200 Subject: [PATCH] added customErrorMessage to Yesod.Form.Functions to allow the user to overwrite the parse-error messages on fields. --- yesod-form/Yesod/Form/Functions.hs | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/yesod-form/Yesod/Form/Functions.hs b/yesod-form/Yesod/Form/Functions.hs index b5910e4e..f762b621 100644 --- a/yesod-form/Yesod/Form/Functions.hs +++ b/yesod-form/Yesod/Form/Functions.hs @@ -31,6 +31,7 @@ module Yesod.Form.Functions , check , checkBool , checkM + , customErrorMessage ) where import Yesod.Form.Types @@ -309,3 +310,8 @@ checkM f field = field Right Nothing -> return $ Right Nothing Right (Just a) -> fmap (either (Left . SomeMessage) (Right . Just)) $ f a } + +-- | Allows you to overwrite the error message on parse error. +customErrorMessage :: SomeMessage master -> Field sub master a -> Field sub master a +customErrorMessage msg field = field { fieldParse = \ts -> fmap (either +(const $ Left msg) Right) $ fieldParse field ts }