From 605f2c807115baff10efa27f0d3348ef952b969f Mon Sep 17 00:00:00 2001 From: Gregor Kleen Date: Wed, 13 Jan 2016 21:42:14 +0100 Subject: FFP 11.3 --- ws2015/ffp/blaetter/11/FFP_U11-3_Yesod.hs | 25 +++++++++++++++++-------- 1 file changed, 17 insertions(+), 8 deletions(-) (limited to 'ws2015') diff --git a/ws2015/ffp/blaetter/11/FFP_U11-3_Yesod.hs b/ws2015/ffp/blaetter/11/FFP_U11-3_Yesod.hs index badd9e0..78c057c 100644 --- a/ws2015/ffp/blaetter/11/FFP_U11-3_Yesod.hs +++ b/ws2015/ffp/blaetter/11/FFP_U11-3_Yesod.hs @@ -46,8 +46,10 @@ import Yesod -import Data.Text +import Data.Text (Text) +import qualified Data.Text as T import Control.Applicative +import Data.Traversable (sequenceA) import Yesod.Form @@ -83,21 +85,28 @@ carAForm = Car <*> areq intField "Year" (Just 1996) <*> aopt textField "Color" Nothing -carForm :: Html -> MForm Handler (FormResult Car, Widget) -carForm = renderBootstrap2 carAForm - -- Beispiel zur Kombination zweier applikativer Formulare zu einem: twoCarAForm :: AForm Handler (Car,Car) twoCarAForm = (,) <$> carAForm <*> carAForm handleHomeR :: Handler Html -handleHomeR = redirect $ CarR 3 +handleHomeR = do + ((result, widget), enctype) <- runFormPost . renderBootstrap2 $ areq intField "Number of Cars" Nothing + case result of + FormMissing -> defaultLayout $ do + [whamlet| +

Form Demo +
+ ^{widget} +