What exactly are the problems with running client-side validation in HTML_QuickForm2?
It needs a quickform.js file to work. The file is installed with the package but is not automatically included in the form output. I've recently updated the docs to make this issue more obvious.
Also QF2 had a couple of releases since your question, a few JS-related bugs were squashed. Consider giving it another try: we are targeting a stable release Really Soon Now and would love feedback.