Barbie > Data-FormValidator-Constraints-Words-0.10 > Data::FormValidator::Constraints::Words

Download:
Data-FormValidator-Constraints-Words-0.10.tar.gz

Dependencies

Annotate this POD

CPAN RT

Open  0
View/Report Bugs
Module Version: 0.10   Source  

NAME ^

Data::FormValidator::Constraints::Words - Data constraints for word inputs.

SYNOPSIS ^

  use Data::FormValidator::Constraints::Words;

  my $rv = Data::FormValidator->check(\%input, {
     real_name      => realname(),
     basic_words    => basicwords(),
     simple_words   => simplewords(),
     print_safe     => printsafe(),
     paragraph      => paragraph(),
     username       => username(),
     password       => password(),
  },

  # or, use the regular functions
  my $rv = Data::FormValidator->check(\%input, {
     comments => sub {
        my($dfv, $value) = @_;
        return $dfv->match_paragraph($value);
     }
  });

DESCRIPTION ^

Data::FormValidator::Constraints::Words provides several methods that can be used to generate constraint closures for use with Data::FormValidator for the purpose of validating textual input.

CHARACTER SETS ^

In the methods below several character code ranges are specified, below is a quick guide to what those ranges represent:

  Dec     Oct     Hex   Description
  ---------------------------------------------------------
   32-47  040-057 20-2F ASCII symbols
   48-57  060-071 30-39 ASCII numerals
   58-64  072-100 3A-40 ASCII symbols
   65-90  101-132 41-5A ASCII uppercase alphabetics
   91-96  133-140 5B-60 ASCII symbols
   97-122 141-172 61-7A ASCII lowercase alphabetics
  123-126 173-176 7B-7E ASCII symbols
  128-159 200-237 80-9F Extended symbols (unsupported in HTML4 standard)
  160-191 240-277 A0-BF Extended symbols
  192-255 300-377 C0-FF Extended alphabetics

The above table is based on the ISO Latin 1 (ISO 8859-1) set of encodings. The character range of 128-159 has no corresponding HTML entity encodings, and are considered control characters in the ISO Latin 1 character set. See http://www.ascii-code.com/ for more details.

If you wish to override these settings, subclass this module and set the appropriate values for the following regular expression settings:

  $REALNAME    = q/\-\s\w.,\'\xC0-\xFF/;
  $BASICWORDS  = q/\-\s\w.,\'\"&;:\?\#\xC0-\xFF/;
  $SIMPLEWORDS = q/\-\s\w.,\'\"&;:\?\#~\+=\(\)\[\]\{\}<>\/!\xC0-\xFF/;
  $PRINTSAFE   = q/\s\x20-\x7E\xA0-\xFF/;
  $PARAGRAPH   = q/\s\x20-\x7E\xA0-\xFF/;
  $USERNAME    = q/\x30-\x39\x41-\x5A\x61-\x7A\x8A\x8C\x8E\x9A\x9C\x9E\x9F\xC0-\xFF/;
  $PASSWORD    = q/\x21-\x7E\x80\x82-\x8C\x8E\x91-\x9C\x9E-\x9F\xA1-\xAC\xAE-\xFF/;

Note that these are used within a character class, so characters such as '-' must be escaped.

Although here PRINTSAFE and PARAGRAPH are the same, they may not be when subclassed.

Both USERNAME and PASSWORD exclude whitespace characters, while USERNAME also excludes all symbol characters.

METHODS ^

realname

The realname methods allows commonly used characters within a person's name to be used. Also restricts the string length to 128 characters. Acceptable characters must match the $REALNAME regular expression.

basicwords

The basicwords methods allow a restricted character set to match simple strings, such as reference codes. Acceptable characters must match the $BASICWORDS regular expression:

simplewords

The simplewords methods allow commonly used characters within simple text box input, such as for titles. Acceptable characters must match the $SIMPLEWORDS regular expression.

printsafe

The printsafe methods restrict characters to those non-control characters within the character set. Acceptable characters must match the $PRINTSAFE regular expression.

paragraph

The paragraph methods allows for a larger range of characters that would be expected to appear in a textarea input, such as a news story or a review. Acceptable characters must match the $PARAGRAPH regular expression:

username

The username methods allows for a restricted range of letter only characters that would be expected to appear in a username style input field. Acceptable characters must match the $USERNAME regular expression:

password

The password methods allows for a restricted range of characters that would be expected to appear in a password style input field. Acceptable characters must match the $PASSWORD regular expression:

NOTES ^

Although Data-FormValidator is not a dependency, it is expected that this module will be used as part of DFV's constraint framework.

This module was originally written as part of the Labyrinth website management tool.

SEE ALSO ^

Data::FormValidator

AUTHOR ^

Barbie, <barbie@missbarbell.co.uk> for Miss Barbell Productions, http://www.missbarbell.co.uk/

COPYRIGHT & LICENSE ^

  Copyright (C) 2002-2014 Barbie for Miss Barbell Productions
  All Rights Reserved.

  This distribution is free software; you can redistribute it and/or
  modify it under the Artistic Licence v2.
syntax highlighting: