A form management package has one goal: to help preserve the integrity of data as it moves from server to client and back again.
Rose::HTML::Objects does both things well. RHTMLO allows you to define form classes that represent reasonably complicated data models, providing validation and serialization.
Some developers are of the opinion that serialization is not properly the function of a form manager because it blurs the line between view and model. I disagree. Proper and correct serialization is important to the validation process, and hence vital to the model. It is but one step in a series of validation layers.
Since serialization to and from (X)HTML is part of the roundtrip all data takes, a good form management tool should be able to handle (X)HTML creation as well as server-side validation. That’s not blurring the model/view line; it’s reflecting the reality that data must be handled by human beings and the web browser is one of the best tools we currently have.