gpt4 book ai didi

ruby-on-rails - 如何结合载波有条件地显示存在验证?

转载 作者:数据小太阳 更新时间:2023-10-29 07:54:53 25 4
gpt4 key购买 nike

我有一个具有以下验证的图像模型

validates :image, presence: true, image_size: { width: { min: 400 },
height: { min: 400 } }, :file_size => { :maximum => 5.megabytes.to_i }

现在我还有一个载波验证:

def extension_whitelist
%w(jpg jpeg gif png)
end

当我提交 .txt 文件时,我得到以下信息:

表单包含 2 个错误。
图片不能为空
图片 您不能上传“txt”文件,允许的类型:jpg、jpeg、gif、png

第一个错误消息不应该出现在那里。因为我实际上是在提交一些东西。

如何删除第一个错误消息? 图片不能为空

最佳答案

如果没有图像完整性错误,您可以跳过存在验证:

class User < ApplicationRecord
mount_uploader :image, ImageUploader

validates :image,
presence: true,
if: ->(record) { record.image_integrity_error.blank? }
end

user = User.new(image: File.open('tmp/.keep'))
user.valid? #=> false
user.errors.full_messages
#=> ["Image You are not allowed to upload \"\" files, allowed types: jpg, jpeg, gif, png"]

关于ruby-on-rails - 如何结合载波有条件地显示存在验证?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48098304/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com