Haskell 是否禁用Formlet/Functor中的字段?

Haskell 是否禁用Formlet/Functor中的字段?,haskell,webforms,applicative,digestive-functors,Haskell,Webforms,Applicative,Digestive Functors,通过使用formlet/消化函子,我试图找出如何在运行时选择性地禁用字段。禁用字段将禁用字段的显示和验证 人为示例:假设我们的基本表单数据类型如下所示: data Info = Info { favcolor :: String, deptId :: Int, company :: String, agree :: Boolean } 但只有当用户是员工时才应显示deptId字段,否则应显示company字段。如果用户尚未单击“同意”

通过使用formlet/消化函子,我试图找出如何在运行时选择性地禁用字段。禁用字段将禁用字段的显示和验证

人为示例:假设我们的基本表单数据类型如下所示:

data Info =
  Info {
     favcolor :: String,
     deptId   :: Int,
     company  :: String,
     agree    :: Boolean
  }
但只有当用户是员工时才应显示
deptId
字段,否则应显示
company
字段。如果用户尚未单击“同意”框,则应显示“同意”字段


我不想为每个可能的变体创建不同的表单类型:(favcolor,deptId,agree),(favcolor,deptId),(favcolor,company,agree),(favcolor,company)。我还能做什么呢?

我认为这打破了消化函子模型,无法做到。不过,这将是一个很好的功能要求