Places ActiveRecord-style validations on the content type of the file assigned. The possible options are:
content_type
: Allowed content types. Can be a single content
type or an array. Each type can be a String or a Regexp. It should be
noted that Internet Explorer uploads files with content_types that you may
not expect. For example, JPEG images are given image/pjpeg and PNGs are
image/x-png, so keep that in mind when determining how you match. Allows
all by default.
message
: The message to display when the uploaded file has an
invalid content type.
if
: A lambda or name of an instance method. Validation will
only be run is this lambda or method returns true.
unless
: Same as if
but validates if lambda or
method returns false.
NOTE: If you do not specify an [attachment]_content_type field on your
model, content_type validation will work _ONLY upon assignment_ and
re-validation after the instance has been reloaded will always succeed.
You’ll still need to have a virtual attribute (created by
attr_accessor
) name +[attachment]_content_type+ to be able to
use this validator.
# File lib/paperclip/validators/attachment_content_type_validator.rb, line 49 def validates_attachment_content_type(*attr_names) validates_with AttachmentContentTypeValidator, _merge_attributes(attr_names) end
Places ActiveRecord-style validations on the presence of a file. Options:
if
: A lambda or name of an instance method. Validation will
only be run if this lambda or method returns true.
unless
: Same as if
but validates if lambda or
method returns false.
# File lib/paperclip/validators/attachment_presence_validator.rb, line 21 def validates_attachment_presence(*attr_names) validates_with AttachmentPresenceValidator, _merge_attributes(attr_names) end
Places ActiveRecord-style validations on the size of the file assigned. The possible options are:
in
: a Range of bytes (i.e. 1..1.megabyte
),
less_than
: equivalent to :in => 0..options
greater_than
: equivalent to :in => options..Infinity
message
: error message to display, use :min and :max as
replacements
if
: A lambda or name of an instance method. Validation will
only be run if this lambda or method returns true.
unless
: Same as if
but validates if lambda or
method returns false.
# File lib/paperclip/validators/attachment_size_validator.rb, line 97 def validates_attachment_size(*attr_names) validates_with AttachmentSizeValidator, _merge_attributes(attr_names) end