| Business-DK-CVR documentation | Contained in the Business-DK-CVR distribution. |
Data::FormValidator::Constraints::Business::DK::CVR - constraint for Danish CVR
The documentation describes version 0.01 of Data::FormValidator::Constraints::Business::DK::CVR
use Data::FormValidator;
use Data::FormValidator::Constraints::Business::DK::CVR qw(valid_cvr);
my $dfv_profile = {
required => [qw(cvr)],
constraint_methods => {
cvr => valid_cvr(),
}
};
my $dfv_profile = {
required => [qw(cvr)],
constraint_methods => {
cvr => valid_cvr(),
},
untaint_all_constraints => 1,
};
This module exposes a set of subroutines which are compatible with Data::FormValidator. The module implements contraints as specified in Data::FormValidator::Constraints.
Checks whether a CVR is valid (see: SYNOPSIS) and Business::DK::CVR
Untaints a given CVR (see: SYNOPSIS and BUGS AND LIMITATIONS)
Data::FormValidator::Constraints::Business::DK::CVR exports on request:
The module requires no special configuration or environment to run.
The module has no known incompatibilities.
The tests seem to reflect that untainting takes place, but the match_valid_cvr is not called at all, so how this untaiting is expected integrated into Data::FormValidator is still not settled (SEE: TODO)
Coverage of the test suite is at 81.8%
Please report issues via CPAN RT:
http://rt.cpan.org/NoAuth/Bugs.html?Dist=Business-DK-CVR
or by sending mail to
bug-Business-DK-CVR@rt.cpan.org
Jonas B. Nielsen, (jonasbn) - <jonasbn@cpan.org>
Business-DK-CVR and related is (C) by Jonas B. Nielsen, (jonasbn) 2006-2008
Business-DK-CVR and related is released under the artistic license
The distribution is licensed under the Artistic License, as specified by the Artistic file in the standard perl distribution (http://www.perl.com/language/misc/Artistic.html).
| Business-DK-CVR documentation | Contained in the Business-DK-CVR distribution. |
package Data::FormValidator::Constraints::Business::DK::CVR; # $Id: CVR.pm,v 1.1 2008-06-11 08:08:00 jonasbn Exp $ use strict; use warnings; use vars qw(@ISA $VERSION @EXPORT_OK); use Business::DK::CVR qw(validate); use Scalar::Util qw(blessed); use Carp qw(croak); use base 'Exporter'; @EXPORT_OK = qw(valid_cvr match_valid_cvr); use constant VALID => 1; use constant INVALID => undef; $VERSION = '0.01'; sub valid_cvr { return sub { my $dfv = shift; if ( !blessed $dfv || !$dfv->isa('Data::FormValidator::Results') ) { croak('Must be called using \'constraint_methods\'!'); } my $cvr = $dfv->get_current_constraint_value; if ( ref $dfv ) { $dfv->name_this('valid_cvr'); } if ( validate($cvr) ) { return VALID; } else { return INVALID; } } } sub match_valid_cvr { my $dfv = shift; # if $dfv is a ref then we are called as 'constraint_method' # else as 'constraint' my $cvr = ref $dfv ? $dfv->get_current_constraint_value : $dfv; #my $cvr = $dfv->get_current_constraint_value; my ($untainted_cvr) = $cvr =~ m/\b(\d{8})\b/smx; return $dfv->untainted_constraint_value($untainted_cvr); } 1; __END__