Test::FormValidator is wonderful, it works really rather nicely.
I needed to test some currency and price validation functions for a client's website, and it was both simple and painless.
With only a little effort, I think I can test all validation on the front end of the site now by checking each validation function, and then each profile with sets of known good and bad data.
This makes it really easy to add test cases for validation errors found by QA and User Acceptance Testing.