http://www.perlmonks.org?node_id=611139


in reply to Data::FormValidator, equivalent to "require_some_regexp"?

I think the mistake you are making is assuming that the DFV profile has to be hard-coded or that the DFV profile has to do all the work.

Dynamically generate a DFV profile. It is only a hash structure so there is no reason that this will not work.

use CGI; my $q = CGI->new(); my @fields = $q->param(); my @foo_fields; for my $field (@fields) { push @foo_fields, $field if $field qr{^foo_}xm; } my $profile = {}; $profile->{require_some} => { foo_fields => [1, @foo_fields ] };

Replies are listed 'Best First'.
Re^2: Data::FormValidator, equivalent to "require_some_regexp"?
by trammell (Priest) on Apr 20, 2007 at 14:13 UTC
    I think that code can be tightened up a bit:
    $profile->{require_some} = { foo_fields => [ 1, grep /^foo_\d+$/, $q->param ] };
    But apart from that I'm afraid this is the best solution available to me. Thanks!