>> 1) in TableForm : Why using cherrypy.request.form_errors instead of a >> dict inserted into input_values with key "error"?
>http://yourhost/report_problem?error=foobar >you could legitimately have an input value called error. I'd turn the >question around: why use input_values["error"] instead of form_errors? To avoid dependecy to cherrypy.request. (nice for test no ?) What about having a consistant/same way to manage error in Widget and group of Widgets ? >> 4) in Widget : Why delete the value from param if the value is invalid >> into input() ? >(... Kevin's answer ...) For a set, I agree. But for text field, having the old value and only correct/fixe the error is great. Image a textarea (for a wiki app) where the user has write several lines, the user won't be happy if the field is emptied because the textarea's validator invalidated the value.

