To add something to what others have said about
Data::FormValidator and
CGI::Application::ValidateRM, you could easily create a validation module that would provide these validation routines. It seems your main goal is to validate the type (int, float, char, etc) of the input.
So I were you, I'd consider taking this idea and writing a module containing constraint routines for
Data::FormValidator (maybe named 'Data::FormValidator::Constraints::Types' ) It would definitely be or more use to more people