Forgive my newbieness in asking, but I was taught that using a premade package like Valid is the best solution 99% of the time, and that most of the 1% was for when space/cpu and such were at issue.
So I am wondering what would make you lean towards a home-grown solution over the module?