The following module was proposed for inclusion in the Module List:
modid: CGI::ValidOp
DSLIP: adpOp
description: Simple validation of CGI params & runmodes
userid: LEGLESS (Randall Hansen)
chapterid: 15 (World_Wide_Web_HTML_HTTP_CGI)
communities:
A wiki at: http://sonofhans.net/cgi-validop/kwiki; if there's enough
interest I'll setup a mailing list.
similar:
CGI::AppToolkit CGI::Application CGI::Application::RM
Data::FormValidator CGI::Validate Params::Check CGI::Untaint
CGI::ArgChecker String::Checker
rationale:
I have a longish page on the module's Wiki
(http://sonofhans.net/cgi-validop/kwiki/index.cgi?SimilarModules)
that reviews all of the afore-mentioned related modules in some
detail. Trying to err on the side of not clogging the list with
minutiae, I'll reproduce only my conclusions here:
It seems to me that no existing modules combine CGI::ValidOp's best
features:
- Easy-to-learn and simple API. - Relation of parameters to
run-modes/operations. - Minimal usage is easy and useful; complex
usage is easy and powerful. - Robust set of validation criteria
(e.g. max/min length, data type, required/optional, custom error
messages). - Validation defaults settable on many levels to minimize
repetition. - Extensible validation with coderefs or regexes. -
Error messages on a per-parameter basis; also available globally.
Other modules do similar parsing, and perhaps do it better. These
are good candidates for subclassing or integration, but don't affect
the namespace of CGI::ValidOp or its usefulness as a standalone
module.
The name itself -- ValidOp -- sounds good to me, but I'm open to
suggestions.
CGI::Validate is a good module, and I could perhaps instantiate it
individually for each operation/runmode, but see the 'Challenges to
integration' section. In a perfect world, CGI::ValidOp could perhaps
be CGI::Validate::Op, but this would require many changes in scope
and philosophy to both modules. I'll start a conversation with
Byron, CGI::Validate's author, so we'll see how it goes.
enteredby: LEGLESS (Randall Hansen)
enteredon: Mon Sep 29 01:37:52 2003 GMT
The resulting entry would be:
CGI::
::ValidOp adpOp Simple validation of CGI params & runmodes LEGLESS
Thanks for registering,
--
The PAUSE
PS: The following links are only valid for module list maintainers:
Registration form with editing capabilities:
https://pause.perl.org/pause/authenquery?ACTION=add_mod&USERID=72500000_1de2b3835920f49c&SUBMIT_pause99_add_mod_preview=1
Immediate (one click) registration:
https://pause.perl.org/pause/authenquery?ACTION=add_mod&USERID=72500000_1de2b3835920f49c&SUBMIT_pause99_add_mod_insertit=1