使用 formlets/digestive-functors,我试图弄清楚如何在运行时选择性地禁用字段。禁用字段将禁用该字段的显示和验证。
人为的示例:假设我们的基本表单数据类型如下所示:
data Info =
Info {
favcolor :: String,
deptId :: Int,
company :: String,
agree :: Boolean
}
但deptId
仅当用户是员工时才应显示该company
字段,否则应显示该字段。agree
如果用户尚未单击“同意”框,则应显示该字段。
我不想为每个可能的变体创建不同的表单类型:(favcolor,deptId,agree),(favcolor,deptId),(favcolor,company,agree),(favcolor,company)。我还可以做些什么?