NAME
Data::Verifier::Results - Results of a Data::Verifier verify
VERSION
version 0.64
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
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 corresponding values 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.
ATTRIBUTES
fields
HashRef of fields in this Results object.
METHODS
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.
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.
get_values (@names)
Same concept as get_value
but will return a list of respective values in the same order in which you provide the names.
is_invalid ($name)
Returns true if the specific field is invalid.
is_missing ($name)
Returns true if the specified field is missing.
is_valid ($name)
Returns true if the field is valid.
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".
merge ($other_results_object)
Merge an existing Data::Verifier::Results object into this one.
invalid_count
Returns the count of invalid fields in this result.
invalids
Returns a list of invalid field names.
missing_count
Returns the count of missing fields in this result.
missings
Returns a list of missing field names.
success
Returns true or false based on if the verification's success.
valids
Returns a list of keys for which we have valid values.
valid_count
Returns the number of valid fields in this Results.
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.
AUTHOR
Cory G Watson <gphat@cpan.org>
COPYRIGHT AND LICENSE
This software is copyright (c) 2023 by Cold Hard Code, LLC.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.