diff --git a/Yesod/Form/Fields.hs b/Yesod/Form/Fields.hs index 50fce93b..db11563d 100644 --- a/Yesod/Form/Fields.hs +++ b/Yesod/Form/Fields.hs @@ -24,6 +24,7 @@ module Yesod.Form.Fields , parseTime , Textarea (..) , radioField + , boolField ) where import Yesod.Form.Types @@ -80,6 +81,9 @@ data FormMessage = MsgInvalidInteger Text | MsgValueRequired | MsgInputNotFound Text | MsgSelectNone + | MsgInvalidBool Text + | MsgBoolYes + | MsgBoolNo defaultFormMessage :: FormMessage -> Text defaultFormMessage (MsgInvalidInteger t) = "Invalid integer: " `mappend` t @@ -96,6 +100,9 @@ defaultFormMessage MsgCsrfWarning = "As a protection against cross-site request defaultFormMessage MsgValueRequired = "Value is required" defaultFormMessage (MsgInputNotFound t) = "Input not found: " `mappend` t defaultFormMessage MsgSelectNone = "" +defaultFormMessage (MsgInvalidBool t) = "Invalid boolean: " `mappend` t +defaultFormMessage MsgBoolYes = "Yes" +defaultFormMessage MsgBoolNo = "No" blank :: (Text -> Either msg a) -> Maybe Text -> Either msg (Maybe a) blank _ Nothing = Right Nothing @@ -325,6 +332,32 @@ radioField = selectFieldHelper