Библиотека форм подходит для Snap и Heist
Я ищу библиотеку, которая помогает мне создавать формы, используя Snap и Heist. Я не знаю "благословенной" библиотеки форм для Snap, и ни одна из блуждающих библиотек на Hackage, похоже, не особенно подходит для декларативного характера шаблонов Heist.
Так как Heist очень похож на систему шаблонов, используемую веб-фреймворком Lift, мне было интересно, есть ли что-то, что могло бы дать мне такую же поддержку форм, как там. Если вы не знакомы с ним, это будет выглядеть примерно так, если перевести на Heist:
<div class="some-div-in-a-heist-template">
<my-form-splice>
Name: <form-input field="name"/>
<form-error field="name">Errors: <error-string/></form-error>
Password: <form-input field="password"/>
<!-- etc -->
<form-submit/>
</my-form-splice>
</div>
Есть ли доступные библиотеки, которые можно склеить, чтобы получить поддержку для чего-то подобного?
1 ответ
Есть библиотека обработки форм, называемая пищеварительными функторами. Это позволяет создавать соответствие между формами и структурами данных Haskell в аппликативном стиле. Это может обеспечить то, что вы ищете. Поскольку Heist предоставляет вам произвольные манипуляции с DOM, вы должны иметь возможность реализовать остальное как библиотеку соединений и связанных функций. Насколько мне известно, сегодня не существует подобной библиотеки.