With regard to "pain in the butt to extend" you could use `extend` and just replace that one method that returns those string, right?
InputView.extend({ getErrorMessage: function () { // return error objects instead? } })
/me shrugs
Forms really are a pain, we tried to create a simple contract between a form-view an it's child field views that was as flexible as possible so you could easily write more input types.
More on that contract here: http://ampersandjs.com/learn/forms#form-input-view-conventio...
But hey, also... easy enough to use something else entirely, it's not like the forms stuff is bundled :)