There are literally dozens of modules for such things. For basic validation, Data::FormValidator seems to be the canonical choice. It takes in a hash of values from the CGI app, and compares it to a pre-written data structure that represents your filters, etc. Set up the array with all the parameter names once in your code, and then you can represent them in the filtering data structure. Using CGI, you could even write a snippit to put all the incoming parameter name into an array with my @param_names = $query->param, and feed that to the filter validator.

WARNING: Grabbing params without checking to see if they are valid for your use could be a security risk, even with filtering the values. You're better off hard-coding them in PROD systems, esp. Internet-facing ones.

----Asim, known to some as Woodrow.


In reply to Re: Form Parameters by Asim
in thread Form Parameters by Anonymous Monk

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.