NAME

Data::MuForm::Field::Upload - file upload field

VERSION

version 0.02

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 Moo;
use Data::MuForm::Meta;
extends 'Data::MuForm';

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 = $c->req->body_parameters;
$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

layout_type

Layout type is 'upload'

AUTHOR

Gerda Shank

COPYRIGHT AND LICENSE

This software is copyright (c) 2017 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.