NAME

Chloro::ResultSet - The set of results from processing a form submission

VERSION

version 0.07

SYNOPSIS

my $resultset = $form->process( params => $params );

if ( $resultset->is_valid() ) {
    do_something( $resultset->results_as_hash() ):
}
else {
    # handle errors
}

DESCRIPTION

This class represents the set of results from processing an entire form submission.

This includes results for individual fields and for groups, as well as validation errors for the form as a whole.

METHODS

This class has the following methods:

Chloro::ResultSet->new()

The constructor accepts the following arguments:

  • form_errors

    This must be an array reference of Chloro::Error::Form objects. It is required, but can be empty.

  • params

    This must be a hash reference. This represents the raw user-submitted data, before any munging.

  • results

    This should be a hash reference.

    The keys can either be field names or group prefixes, and the values can be either Chloro::Result::Field or Chloro::Result::Group objects.

$resultset->results()

Returns a list of Chloro::Result::Field and Chloro::Result::Group objects.

$resultset->result_for($key)

Given a field name or a group prefix, returns a Chloro::Result::Field or Chloro::Result::Group object

$resultset->is_valid()

This returns true if there are no field or form errors in this resultset.

$resultset->results_as_hash()

This takes all the result objects as assembles them into a data hash reference. See Chloro::Manual::Groups for details on how group results are returned.

$resultset->secure_results_as_hash()

This is just like $resultset->results_as_hash(), but the result for any field marked as secure is omitted. This is useful if you need to pass the form data in a query string or session, and you don't want to include things like credit card numbers or passwords.

$resultset->secure_raw_params()

Returns a hash reference of the original parameters passed to $form->process() with any fields marked secure removed.

Note that if the keys in the original params do not match the field names (because you used a custom extractor), then those keys will still be in the returned hash reference.

$resultset->form_errors()

Returns a list of Chloro::Error::Form objects. This list may be empty.

$resultset->add_form_error()

Adds a Chloro::Error::Form object to the resultset.

$resultset->field_errors()

This returns a hash of errors associated with the fields. The hash keys are either plain field names, or a prefixed name for fields in groups. The value for each key is an array reference of error objects.

Fields without errors are not included in the hash.

$resultset->all_errors()

This method returns all the errors in the resultset, both form and field. They are returned a list.

ROLES

This class does the Chloro::Role::Result and Chloro::Role::ResultSet role.

SUPPORT

Bugs may be submitted at http://rt.cpan.org/Public/Dist/Display.html?Name=Chloro or via email to bug-chloro@rt.cpan.org.

I am also usually active on IRC as 'autarch' on irc://irc.perl.org.

SOURCE

The source code repository for Chloro can be found at https://github.com/autarch/Chloro.

AUTHOR

Dave Rolsky <autarch@urth.org>

COPYRIGHT AND LICENSE

This software is Copyright (c) 2017 by Dave Rolsky.

This is free software, licensed under:

The Artistic License 2.0 (GPL Compatible)

The full text of the license can be found in the LICENSE file included with this distribution.