Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/haskell/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Haskell 是的,编译时会出现错误_Haskell_Yesod - Fatal编程技术网

Haskell 是的,编译时会出现错误

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

对于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 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)