NAME
Data::FormValidator::Constraints::Upload - Validate File Uploads
SYNOPSIS
# In a Data::FormValidator Profile:
validator_packages => [qw(Data::FormValidator::Constraints::Upload)],
constraints => {
image_name => [
{
constraint_method => 'file_format',
params => [],
},
{
constraint_method => 'file_max_bytes',
params => [\100],
},
{
constraint_method => 'image_max_dimensions',
params => [\200,\200],
},
],
}
DESCRIPTION
Note: This is a new module is a new addition to Data::FormValidator and is should be considered "Beta".
These module is meant to be used in conjunction with the Data::FormValidator module to automate the task of validating uploaded files. The following validation routines are supplied
- file_format
-
This function checks the format of the file, based on the MIME type if it's available, and a case-insensitive version of the file extension otherwise. By default, it tries to validate JPEG, GIF and PNG images. The params are:
optional hash reference of parameters. A key named I<mime_types> points to array refererences of valid values. constraint_method => 'file_format', params => [{ mime_types => [qw!image/jpeg image/gif image/png!], }],
Calling this function sets some meta data which can be retrieved through the
meta()
method of the Data::FormValidator::Results object. The meta data added isextension
andmime_type
.The MIME type of the file will first be tried to figured out by using the <File::MMagic> module to examine the file. If that doesn't turn up a result, we'll use a MIME type from the browser if one has been provided. Otherwise, we give up. The extension we return is based on the MIME type we found, rather than trusting the one that was uploaded.
- file_max_bytes
-
This function checks the maximum size of an uploaded file. By default, it checks to make sure files are smaller than 1 Meg. The params are:
reference to max file size in bytes constraint_method => 'file_max_bytes', params => [\1024], # 1 k
Calling this function sets some meta data which can be retrieved through the
meta()
method of the Data::FormValidator::Results object. The meta data added isbytes
. - image_max_dimensions
-
This function checks to make sure an uploaded image is no longer than some maximum dimensions. The params are:
reference to max pixel width reference to max pixel height constraint_method => 'image_max_dimensions', params => [\200,\200],
Calling this function sets some meta data which can be retrieved through the
meta()
method of the Data::FormValidator::Results object. The meta data added iswidth
andheight
.
SEE ALSO
Data::FormValidator, CGI, perl
AUTHOR
Mark Stosberg, <mark@summersault.com>
COPYRIGHT AND LICENSE
Copyright 2003 by Mark Stosberg
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.