WWW::FieldValidator(3pm) - phpMan

Command: man perldoc info search(apropos)  


WWW::FieldValidator(3pm)       User Contributed Perl Documentation       WWW::FieldValidator(3pm)



NAME
       WWW::FieldValidator - Provides simple validation of user entered input

SYNOPSIS
       OO module that is used to validate input.

DESCRIPTION
       This module is used by WWW::Form to perform various validations on input.  This document
       covers using the WWW::FieldValidator module as part of a Form object.  In this case, the
       only thing you need to know how to do is to instantiate WWW::FieldValidators properly.
       All the validation is handled internally by WWW::Form.

USAGE
   my $validator = WWW::FieldValidator->new($validatorType,$errorFeedback, [$minLength,
       $maxLength, $regex], [$isOptional])
       Creates a FieldValidator object.  $validatorType is used to determine what type of
       validation will be performed on the input.  The following validator types are supported
       (Note these are constants, the $validatorType param needs to be one of the following
       values):

         # Input must conform to /^[\w\-\.\+]+@(\w+)(\.([\w\-]+))+$/
         WWW::FieldValidator::WELL_FORMED_EMAIL
         # Input must be >= a specified string length
         WWW::FieldValidator::MIN_STR_LENGTH
         # Input must be <= a specified string length
         WWW::FieldValidator::MAX_STR_LENGTH
         # Input must match a user defined regex
         WWW::FieldValidator::REGEX_MATCH
         # Input must pass a user defined subroutine's validation
         WWW::FieldValidator::USER_DEFINED_SUB

       Examples:

         # Create a validator that checks to see if input is a well formed email
         # address
         WWW::FieldValidator->new(
             WWW::FieldValidator::WELL_FORMED_EMAIL,
             'Please make sure you enter a well formed email address'
         );

         # Creates a validator that checks to see if input is well formed only if
         # input is not null (or numm string)
         WWW::FieldValidator->new(
             WWW::FieldValidator::WELL_FORMED_EMAIL,
             'Please make sure you enter a well formed email address',
             $isOptional = 1
         );

         # Creates a validator that checks to see if the input is at least min length
         WWW::FieldValidator->new(
             WWW::FieldValidator::MIN_STR_LENGTH,
             'Please make sure you enter something at least 10 characters long',
             10
         );

         # Creates a validator that checks to see if the input is at least min length
         # only if input is not null or null string
         WWW::FieldValidator->new(
             WWW::FieldValidator::MIN_STR_LENGTH,
             'Please make sure you enter something at least 10 characters long',
             10,
             1
         );

         # Creates a validator that checks to see if the input is less than max
         # length
         WWW::FieldValidator->new(
             WWW::FieldValidator::MAX_STR_LENGTH,
             'Please enter something less than or equal to 5 characters',
             5
         );

         # Creates a validator that checks to see if the input is less than max
         # length only if input is not null or null string
         WWW::FieldValidator->new(
             WWW::FieldValidator::MAX_STR_LENGTH,
             'Please enter something less than or equal to 5 characters',
             5,
             1
         );

         # Creates a validator that checks to see if the input matches the specified
         # regex
         WWW::FieldValidator->new(
             WWW::FieldValidator::REGEX_MATCH,
             'Please make sure you enter a number',
             ^\d+$|^\d+\.\d*$|^\d*\.\d+$'
         );

         # Creates a validator that checks to see if the input matches the
         # specified regex only if input is not null or null string
         WWW::FieldValidator->new(
             WWW::FieldValidator::REGEX_MATCH,
             'If you\'re going to enter anything, please enter a number',
             ^\d+$|^\d+\.\d*$|^\d*\.\d+$',
             1
         );


         # Creates a validator that checks to see if the input is good according to
         # sub ref
         WWW::FieldValidator->new(
             WWW::FieldValidator::USER_DEFINED_SUB,
             'The name you entered already exists',
             \&is_name_unique
         );

         # Creates a validator that checks to see if the input is good according to
         # sub ref only if input is not null or null string
         WWW::FieldValidator->new(
             WWW::FieldValidator::USER_DEFINED_SUB,
             'If you\'re entering a name, enter one that doesn\'t already exist',
             \&is_name_unique,
             1
         );

         # If you use the validator type: USER_DEFINED_SUB, your subroutine will have
         # access to the value of the form input that your validator is assigned to

         sub is_name_unique {
             # gets passed in to this sub for you by way of Form module
             my $name = shift;

             if ($names->{$name}) {
                 return 0; # name already exists, input is invalid
             }
             else {
                 return 1;
             }
         }

       If you want to use WWW::FieldValidator outside of WWW::Form it's easy to do.  The only
       method you need to use is validate.

   $validator->validate($input)
       Returns true if $input passes validation or false otherwise.

       Example:

         my $email_validator = WWW::FieldValidator->new(
             WWW::FieldValidator::WELL_FORMED_EMAIL,
             'Please make sure you enter a well formed email address'
         );

         my $params = $r->param();

         if (my $email = $params->{email}) {

             unless ($email_validator->validate($email)) {
                 print $email_validator->getFeedback();
             }
         }

   $validator->getFeedback()
       Returns error feedback for a FieldValidator.  This can also be called as get_feedback().

   $validator->get_feedback()
       An alias for get_feedback().

SEE ALSO
       WWW::Form

TODO
       Update email validation to use Email:Valid module under-the-hood.  (Note that this can be
       done with the current version of FieldValidator via the use of a user-defined validation
       type.)

LICENSE
       This program is free software.  You may copy or redistribute it under the same terms as
       Perl itself.



perl v5.10.0                                2006-11-18                   WWW::FieldValidator(3pm)

Generated by $Id: phpMan.php,v 4.49 2006/02/26 13:18:18 chedong Exp $ Author: Che Dong
On Apache
Under GNU General Public License
2012-05-25 08:25 @38.107.179.240 Crawled by CCBot/1.0 (+http://www.commoncrawl.org/bot.html)
Valid XHTML 1.0!Valid CSS!