Отключить поля в формулах / пищеварительных функторах?

С помощью 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 ответ

Я думаю, что это нарушает модель пищеварительных функторов и не может быть сделано. Это сделало бы хороший запрос на функцию, хотя!

Другие вопросы по тегам