$q->param( userid_untaint => 'dummy junk' ); my $dfv_profile = { required => [qw (userid_untaint)], dependencies => { userid_untaint => [ qw( userid ) ], }, constraints => { userid => { name => 'userid_exists', constraint => sub { return !MyDBITools->user_exists($ca_obj); }, }, userid_untaint => { name => 'userid_untaint', constraint => sub { my $tmp = $q->param( 'userid' ); $tmp =~ s/^[-\@\w.]+$/; $q->param( userid => $tmp ); }, }, }, msgs => { format => '%s', constraints => { 'userid_exists' => "User ID already exists.", 'userid_untaint'=> "User ID contains bad stuff", }, }, };