回形针验证时回形针验证

时间:2015-08-18 04:06:21

标签: ruby-on-rails validation paperclip ruby-on-rails-2

我有一个rails模型,其中使用Paperclip上传图像。

我已经为图片添加了尺寸验证。

validates_attachment-size :image, less_than => 5.megabytes

当没有附件时尝试保存模型时,它会验证缺少的图像并且无法保存。

如果没有图像,我需要保存模型,验证只有在有图像时才有效。

2 个答案:

答案 0 :(得分:1)

首先你的代码中有一个拼写错误。 validates_attachment-size应为validates_attachment_size

你想这样做:

validates_attachment_size :image, less_than => 5.megabytes

这个内置帮助器可以正常工作。但是,此验证将强制验证实际附件,这意味着如果图像不存在则无效。

因此,如果您想确定是否存在图像,可以添加custom validator来检查图像的存在。像这样:

validate :image_presence_and_size

def image_presence_and_size
  if image.present? && image_file_size < 5.megabytes
    errors.add(:file_size, "file size must be less than 5 megabytes.")
  end
end

答案 1 :(得分:0)

请尝试以下代码。

scrollView

此处,如果模型中存在图像,验证将起作用,如果没有图像,将跳过验证。