The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Form::Sensible::Field::FileSelector - Field used for file selection

SYNOPSIS

    use Form::Sensible::Field::FileSelector;
    
    my $object = Form::Sensible::Field::FileSelector->new({
        name => 'upload_file',
        valid_extensions => [ "jpg", "gif", "png" ],
        maximum_size => 262144,
    });

DESCRIPTION

Form::Sensible::Field subclass field that represents a File. When the FileSelector field type is used, the user will be prompted to select a file. Depending on the user interface, it may be prompting for a local file or a file upload.

ATTRIBUTES

value

The local filename of the file selected.

full_path

The full local path to the file selected. NOTE that in the case that the filename provided by the user is different from the actual file on the local filesystem (such as when using Catalyst file upload) the filename portion of full_path may be different than the result of filename. File based validation (such as file size, etc.) is performed on full_path.

filename

The filename of the file as provided by the user. By default, this is the filename only portion "full_path". Extension based validation is performed on filename.

maximum_size

The maximum file size allowed for the file.

valid_extensions

An array ref containing the valid extensions for this file.

must_exist

A true / false indicating whether the file must exist by the time the field is validated. Defaults to true.

must_be_readable

A true / false indicating whether the file must be readable by the time the field is validated. Defaults to true.

METHODS

get_additional_configuration

A convenience method to return the following attributes in a hashref:

  • maximum_size

  • valid_extensions

  • must_exist

  • must_be_readable

AUTHOR

Jay Kuri - <jayk@cpan.org>

SPONSORED BY

Ionzero LLC. http://ionzero.com/

SEE ALSO

Form::Sensible

LICENSE

Copyright 2009 by Jay Kuri <jayk@cpan.org>

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.