I like the way this uses the form to include some basic validation. To me, it seems like the best approach. I agree with your comments in an earlier post where you discussed using completely programmatically generated forms vs styling your own forms.
I used a similar approach as Formencode when collecting values under Mason, using a HTML token parser to parse the form and put errors in (as htmlfill does) that I described on an earlier blog post.
Now that I've switched to myghty though, I've been looking for the equivilant Python version, Formencode with htmlfill and validators looks like it handles it all. While you describe it as an "early adopter" release, I'll give it a spin anyways. Any idea how much the syntax would change before you get to a formal release?