Data::FormValidator::Constraints::Words - Data constraints for word inputs.
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(), }, # or, use the regular functions my $rv = Data::FormValidator->check(\%input, { comments => sub { my($dfv, $value) = @_; return $dfv->match_paragraph($value); } });
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.
Data::FormValidator::Constraints::Words
Data::FormValidator
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. 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/;
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.
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.
realname
valid_realname
match_realname
The basicwords methods allow a restricted character set to match simple strings, such as reference codes. Acceptable characters must match the $BASICWORDS regular expression:
basicwords
valid_basicwords
match_basicwords
The simplewords methods allow commonly used characters within simple text box input, such as for titles. Acceptable characters must match the $SIMPLEWORDS regular expression.
simplewords
valid_simplewords
match_simplewords
The printsafe methods restrict characters to those non-control characters within the character set. Acceptable characters must match the $PRINTSAFE regular expression.
printsafe
valid_printsafe
match_printsafe
The paragraph methods allows for a larger range of characters that would be expected to appear in a textarea inpout, such as a news story or a review. Acceptable characters must match the $PARAGRAPH regular expression:
paragraph
valid_paragraph
match_paragraph
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.
Barbie, <barbie@missbarbell.co.uk> for Miss Barbell Productions, http://www.missbarbell.co.uk/
Copyright (C) 2002-2013 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.
To install Data::FormValidator::Constraints::Words, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Data::FormValidator::Constraints::Words
CPAN shell
perl -MCPAN -e shell install Data::FormValidator::Constraints::Words
For more information on module installation, please visit the detailed CPAN module installation guide.