Yesod:i18n自定义表单字段错误消息

时间:2014-08-14 11:52:08

标签: forms haskell internationalization messages yesod

我使用checkBool帮助器来构建自定义表单字段,例如:

posDoubleField :: forall msg (m :: * -> *).
    ( RenderMessage (HandlerSite m) FormMessage
    , RenderMessage (HandlerSite m) msg, Monad m )
               => msg -> Field m Double
posDoubleField msg = checkBool (> 0) msg doubleField

-- ...
mkDepForm :: Form FormDepositHelper
mkDepForm = renderDivs $ FormDepositHelper
            <$> areq (posDoubleField errMsg) (fieldSettingsLabel MsgDepositAmount) (Just 0)
    where
       errMsg :: Text
       errMsg = "Invalid deposit amount!"

正如您所看到的,我有国际化的字段标签,所以我也可以使用国际化的错误消息吗?或者让我自己按照source code example建立整个字段?

1 个答案:

答案 0 :(得分:0)

从上面重新发表评论:

仅仅使用i18n值代替errMsg是不行的?所有这些类型似乎都很适合。