2011-12-24 2 views
3

Я ищу библиотеку, которая помогает мне создавать формы с использованием Snap и Heist. Для Snap нет никакой «благословленной» библиотеки форм, о которой я знаю, и ни одна из бродячих на Hackage, по-видимому, особенно не подходит для декларативного характера шаблонов Хейста.Библиотека форм, подходящая для Snap и Heist

Поскольку Хейст очень похож на систему шаблонов, используемую Lift web framework, мне было интересно, есть ли что-то, что дало бы мне подобную поддержку формы, как там доступно. Если вы не знакомы с ним, это будет примерно выглядеть в переводе на 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> 

Существуют ли какие-либо библиотеки доступны, которые могут быть склеены вместе, чтобы получить поддержку что-то вроде этого?

ответ

3

Существует библиотека обработки формы под названием digestive-functors. Он позволяет создавать соответствие между формами и структурами данных Haskell в аппликативном стиле. Это может обеспечить некоторые из того, что вы ищете. Поскольку Heist дает вам произвольные манипуляции с DOM, вы должны иметь возможность реализовать остальные как библиотеку сращиваний и связанных функций. Насколько мне известно, сегодня не существует такой библиотеки сращивания.

+0

Это как можно ближе; будет принимать этот ответ на данный момент. – dflemstr