NAME

HTML::FormHandler::Field::Upload - file upload field

VERSION

version 0.40059

DESCRIPTION

This field is designed to be used with a blessed object with a 'size' method, such as Catalyst::Request::Upload, or a filehandle. Validates that the file is not empty and is within the 'min_size' and 'max_size' limits (limits are in bytes). A form containing this field must have the enctype set.

package My::Form::Upload;
use HTML::FormHandler::Moose;
extends 'HTML::FormHandler';

has '+enctype' => ( default => 'multipart/form-data');

has_field 'file' => ( type => 'Upload', max_size => '2000000' );
has_field 'submit' => ( type => 'Submit', value => 'Upload' );

In your controller:

my $form = My::Form::Upload->new;
my @params = ( file => $c->req->upload('file') )
         if $c->req->method eq 'POST';
$form->process( params => { @params } );
return unless ( $form->validated );

You can set the min_size and max_size limits to undef if you don't want them to be validated.

DEPENDENCIES

widget

Widget type is 'upload'

AUTHOR

FormHandler Contributors - see HTML::FormHandler

COPYRIGHT AND LICENSE

This software is copyright (c) 2014 by Gerda Shank.

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