Haskell 是的,编译时会出现错误
对于AForm,我有一些编译错误: 1。对于默认的Int值:Haskell 是的,编译时会出现错误,haskell,yesod,Haskell,Yesod,对于AForm,我有一些编译错误: 1。对于默认的Int值: data Person = Person { name :: Text , age :: Maybe Int } deriving Show formPerson :: AForm Handler Person formPerson = Person <$> areq textField "Person Name" Nothing <*> aopt int
data Person = Person
{ name :: Text
, age :: Maybe Int
}
deriving Show
formPerson :: AForm Handler Person
formPerson = Person
<$> areq textField "Person Name" Nothing
<*> aopt intField "Person Age" (Just 25)
postPersonR :: Handler Html
postPersonR = do
((result, formWidget), formEnctype) <- runFormPost formPerson
let title = "Success!"::Html
case result of
FormSuccess person ->
defaultLayout $ do
setTitle title
$(widgetFile "personresult")
_ ->
defaultLayout $ do
$(widgetFile "person")
data Person = Person
{ name :: Text
, age :: Maybe Int
}
personeForm :: Maybe Person -> AForm Handler Person
personeForm person = Person
<$> areq textField "Persone Name" (name <$> person)
<*> aopt intField "Persone Age" (Just (Just 24))
getAformPersonR :: Handler Html
getAformPersonR = do
let person = Person "Jack" Nothing
(formWidget, formEnctype) <- generateFormPost $ renderDivs $ personeForm $ Just person
defaultLayout $ do
$(widgetFile "aformpersone")
在模板上:
<span>My age: #{myAge}
3。结果错误:
data Person = Person
{ name :: Text
, age :: Maybe Int
}
deriving Show
formPerson :: AForm Handler Person
formPerson = Person
<$> areq textField "Person Name" Nothing
<*> aopt intField "Person Age" (Just 25)
postPersonR :: Handler Html
postPersonR = do
((result, formWidget), formEnctype) <- runFormPost formPerson
let title = "Success!"::Html
case result of
FormSuccess person ->
defaultLayout $ do
setTitle title
$(widgetFile "personresult")
_ ->
defaultLayout $ do
$(widgetFile "person")
data Person = Person
{ name :: Text
, age :: Maybe Int
}
personeForm :: Maybe Person -> AForm Handler Person
personeForm person = Person
<$> areq textField "Persone Name" (name <$> person)
<*> aopt intField "Persone Age" (Just (Just 24))
getAformPersonR :: Handler Html
getAformPersonR = do
let person = Person "Jack" Nothing
(formWidget, formEnctype) <- generateFormPost $ renderDivs $ personeForm $ Just person
defaultLayout $ do
$(widgetFile "aformpersone")
如何解决问题?1-双重示例-设置字段和整个人员的默认值表单:
data Person = Person
{ name :: Text
, age :: Maybe Int
}
deriving Show
formPerson :: AForm Handler Person
formPerson = Person
<$> areq textField "Person Name" Nothing
<*> aopt intField "Person Age" (Just 25)
postPersonR :: Handler Html
postPersonR = do
((result, formWidget), formEnctype) <- runFormPost formPerson
let title = "Success!"::Html
case result of
FormSuccess person ->
defaultLayout $ do
setTitle title
$(widgetFile "personresult")
_ ->
defaultLayout $ do
$(widgetFile "person")
data Person = Person
{ name :: Text
, age :: Maybe Int
}
personeForm :: Maybe Person -> AForm Handler Person
personeForm person = Person
<$> areq textField "Persone Name" (name <$> person)
<*> aopt intField "Persone Age" (Just (Just 24))
getAformPersonR :: Handler Html
getAformPersonR = do
let person = Person "Jack" Nothing
(formWidget, formEnctype) <- generateFormPost $ renderDivs $ personeForm $ Just person
defaultLayout $ do
$(widgetFile "aformpersone")
data Person=Person
{name::Text
,年龄::可能是整数
}
personeForm::Maybe Person->AForm Handler Person
personeformperson=人
areq文本字段“人名”(人名)
aopt intField“个人年龄”(仅24岁)
getAformPersonR::处理程序Html
getAformPersonR=do
let person=人“Jack”无
(formWidget,formEnctype)