Reform is an HTML form generation and validation library. It follows
in the footsteps of formlets and digestive-functors <= 0.2. In fact,
much of the code in reform comes from the digestive-functors-0.2 code
Reform is designed to be usuable with a wide variety of Haskell web
servers and templating libraries. You can find the following packages
* reform - the core library
* reform-happstack - support for using reform with the Happstack server
* reform-blaze - support for creating forms for blaze-html
* reform-hsp - support for creating forms for HSP (another
xml/html template library)
The darcs repo also includes proof-of-concept support for 'Heist'.
Reform will feel very familiar to formlets and digestive-functors <=
The primary motivation behind this library is to provide a supported
alternative to digestive-functors 0.2 for users that prefer 0.2 over
The key new feature in reform is the ability to separate the
validation code from the view generation code. This allows library
authors to provide validators (known as Proofs) which the users can
use when constructing their forms. The proof names appear in the
type-signatures. This allows the library author to ensure that the
value returned by a user created form is not merely the correct type,
but has also passed validation.
The reform-happstack package also provides simple and transparent
Cross-Site Request Forgery (CSRF) protection, using the double-submit
method. This method has some weaknesses. For example, I believe it can
be circumvented if your site is vulnerable to cross-site scripting
(XSS) attacks. If you have suggestions on how to improve the CSRF
protection -- please let us know!
I hope to do a full comparison of reform vs digestive-functors 0.3 vs
yesod forms in a few weeks.
Re: [Haskell-cafe] ANN: reform - a type-safe form generation and validation library in the spirit of formlets and digestive-functors < 0.2
I have some vague ideas about what the comparison might reveal -- but
I expect to learn quite a bit in the process, and use that to improve
reform. There is definitely room for more than one form validation
library. They all have shortcomings, and I am hoping something even
better will come along some day :)
On Tue, May 22, 2012 at 4:31 AM, Jasper Van der Jeugt <[hidden email]> wrote:
> Congrats on the release!
> I would like to help out with the full comparison since I have some
> knowledge and experience on the subject. Because of the different
> approach, I think there's definitely room for two libraries.
> On Tue, May 22, 2012 at 2:23 AM, Felipe Almeida Lessa
> <[hidden email]> wrote:
>> On Mon, May 21, 2012 at 7:18 PM, Jeremy Shaw <[hidden email]> wrote:
>>> I hope to do a full comparison of reform vs digestive-functors 0.3 vs
>>> yesod forms in a few weeks.
>> That would be awesome! Just sayin' =).
>> You received this message because you are subscribed to the Google Groups "HAppS" group.
>> To post to this group, send email to [hidden email].
>> To unsubscribe from this group, send email to [hidden email].
>> For more options, visit this group at http://groups.google.com/group/happs?hl=en.
> Haskell-Cafe mailing list
> [hidden email] > http://www.haskell.org/mailman/listinfo/haskell-cafe