Отключить поля в формулах / пищеварительных функторах?
С помощью formlets/digficial-functors я пытаюсь выяснить, как выборочно отключать поля во время выполнения. Отключение поля отключит как отображение поля, так и проверку.
Придуманный пример: предположим, что наш базовый тип данных формы выглядит следующим образом:
data Info =
Info {
favcolor :: String,
deptId :: Int,
company :: String,
agree :: Boolean
}
но deptId
поле должно отображаться только в том случае, если пользователь является сотрудником, в противном случае company
поле должно быть показано. И agree
поле должно отображаться, если пользователь еще не нажал кнопку "Согласен".
Я не хочу создавать разные типы форм для каждого возможного варианта: (favcolor, deptId, согласен), (favcolor, deptId), (favcolor, company, согласен), (favcolor, company). Что еще я могу сделать?
1 ответ
Я думаю, что это нарушает модель пищеварительных функторов и не может быть сделано. Это сделало бы хороший запрос на функцию, хотя!