Coincidentally, I have a drop in javascript library that I was planning on modifying when the formencode devcast was done. I don't understand the form stuff yet. I glanced at the Toasty Goat code and I might be able to figure it out from there.
This is basically the start of option #1 http://www.alvinwang.com/j2/errchk.js Each of the fields has a onBlur event attached to it to validate the field. The error message would be placed field provided by the widget. The onblur would be created automatically by the widget. On a submit, the validateOnSubmit() routine is called. This will then walk through all the fields, triggering onblurs in case anybody tried to submit it without entering data in the field. Alvin

