It's unfortunate that this generally means that you need to modify two code bases when you change validation requirements
Ah - not so.
CGI::Ex::Validate - its been in use in various forms for 4 or 5 years.
my @a=qw(random brilliant braindead); print $a[rand(@a)];