任务是创建一个具有漂亮错误处理的注册表单。
我是 Yesod 的新手,所以我发现这样做的唯一方法是:
regForm :: Form User
getRegRExtra extraFormWidget = do
(formWidget, enctype) <- case extraFormWidget of
Nothing -> generateFormPost regForm
Just val -> return val
defaultLayout $ $(widgetFile "reg/reg")
getRegR = getRegRExtra Nothing
postRegR = do
((result, widget), enctype) <- runFormPostNoToken regForm
case result of
FormSuccess person -> undefined
_ -> getRegRExtra (Just (widget, enctype))
但是有一个问题:每次提交时页面都会刷新,而我希望它动态地执行此操作。
我知道它可以在 Ajax 或 Jquery 的帮助下修复,
但我会失去使用 Yesod POST 函数时获得的所有好处。
有没有标准的方法来处理它?