NAME
Data::Verifier::Results - Results of a Data::Verifier
SYNOPSIS
use Data::Verifier;
my $dv = Data::Verifier->new(profile => {
name => {
required => 1,
type => 'Str',
filters => [ qw(collapse trim) ]
}
age => {
type => 'Int';
},
sign => {
required => 1,
type => 'Str'
}
});
my $results = $dv->verify({
name => 'Cory', age => 'foobar'
});
$results->success; # no
$results->is_invalid('name'); # no
$results->is_invalid('age'); # yes
$results->is_missing('name'); # no
$results->is_missing('sign'); # yes
SUCCESS OR FAILURE
success
Returns true or false based on if the verification's success.
is_wrong ($name)
Returns true if the value was required and is missing or if the value did not pass it's type constraint. This is a one-stop method for determining if the field in question is "wrong".
VALUES
The values present in the result are the filtered, valid values. These may differ from the ones supplied to the verify method due to either filters or coercions.
valid_count
Returns the number of valid fields in this Results.
valids
Returns a list of valid field names in the results.
delete_value ($name)
Deletes the specified value from the results.
get_original_value ($name)
Get the original value for the specified field.
get_post_filter_value ($name)
Get the post-filter value for the specified field.
get_value ($name)
Returns the value for the specified field. The value may be different from the one originally supplied due to filtering or coercion.
value_count
Returns the number of values in this Results.
VALID FIELDS
is_valid ($name)
Returns true if the field is valid.
valids
Returns a list of keys for which we have valid values.
valid_values
Returns a hash of valid values in the form of name =
value>. This is a convenient method for instantiating Moose objects from your verified data.
INVALID FIELDS
is_invalid ($name)
Returns true if the specific field is invalid.
invalids
Returns a list of invalid field names.
invalid_count
Returns the count of invalid fields in this result.
MISSING FIELDS
is_missing ($name)
Returns true if the specified field is missing.
missings
Returns a list of missing field names.
missing_count
Returns the count of missing fields in this result.
FIELDS
get_field ($name)
Gets the field object, if it exists, for the name provided.
has_field ($name)
Returns true if the name in question is part of this result object. This should be true for any field that was in the profile.
set_field ($name)
Sets the field object (you shouldn't be doing this directly) for the name provided.
SERIALIZATION
Data::Verifier uses MooseX::Storage::Deferred to allow quick and easy serialization. So a quick call to freeze
will serialize this object into JSON and thaw
will inflate it. The only caveat is that we don't serialize the value
attribute. Since coercion allows you to make the result any type you want, it can't reliably be serialized. Use original value if you are serializing Result objects and using them to refill forms or something.
my $json = $results->freeze({ format => 'JSON' });
# ...
my $results = Data::Verifier::Results->thaw($json, { format => 'JSON' });
INTERNALS
This module has a hashref attribute fields
. The keys are the names of the fields from the profile. The keys are are either undef
or a Data::Verifier::Field object.
The only keys that will be populated in the Result object are those that were listed in the profile. Any arbitrary fields will not be part of the result object, as they were not part of the profile. You should not query the result object for the state of any arbitrary fields. This will not throw any exceptions, but it may not return the results you want if you query for arbitrary field names.
AUTHOR
Cory G Watson, <gphat at cpan.org>
COPYRIGHT & LICENSE
Copyright 2009 Cold Hard Code, LLC
This program is free software; you can redistribute it and/or modify it under the terms of either: the GNU General Public License as published by the Free Software Foundation; or the Artistic License.
See http://dev.perl.org/licenses/ for more information.