When working with CGI forms, I tend to farm the job out. Required fields, validation, etc. can get really painful if you have to deal with them manually - and pointless suffering is against my religion. :)
#!/usr/bin/perl -wT use strict; $|++; use CGI::FormBuilder; # Disable the next line for production use CGI::Carp qw/warningsToBrowser fatalsToBrowser/; my @fields = qw/name email zipcode/; my @req = @fields[0, 1]; ### These are the req +uired fields my %val = ( name => 'NAME', email => 'EMAIL' ); ### Validate via pre- +defined methods my $form = CGI::FormBuilder->new(method => 'post', fields => \@fields, required => \@req, validate => \%val, ); if ($form->submitted) { my $field = $form->fields; # update_db($field->fields}; # This is where you'd update the dat +abase, etc. print $form->confirm(header => 1); } else { print $form->render(header => 1); }
Be sure to take a look at the generated source. There's a lot going on behind the scenes.
In reply to Re: variable sees it, array doesn't - stumped!
by oko1
in thread variable sees it, array doesn't - stumped!
by shrdlu
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |