gpt4 book ai didi

ruby - allow_blank 选项有意义吗?

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

我正在尝试在 RoR 中构建自己的应用程序。
您如何看待下面的代码。

class Book < ApplicationRecord
validates :price,
presence: true,
inclusion: { in: 50..100, allow_blank: true }
end

价格值必须在50到100之间且不能为空。
我的评论者想要显示“列表中未包含价格”和“价格不能为空”。但我不同意这个评论。

我喜欢的代码如下。这同时满足包容性和存在感。

class Book < ApplicationRecord
validates :price,
inclusion: { in: 50..100 }
end

在这种情况下,allow_blank 没有意义。

你怎么看?哪个更受欢迎?

更新

使用 numericality: 更适合验证整数。

class Book < ApplicationRecord
validates :price,
numericality: { greater_than_or_equal_to: 50, less_than_or_equal_to: 100 }
end

最佳答案

任一选项均有效;您正在用代码的简洁性来换取向用户显示的错误消息的准确性。哪一个效果更好取决于将要操纵该记录的用户级别。

但是,对于数值,请考虑使用 numerericality: 验证。即使提供了适当的[但超出范围]数字,“包含在列表中”的措辞也相当困惑。

(作为一个额外的想法,考虑向 Rails 提交 PR 以改进这两个默认消息。)

关于ruby - allow_blank 选项有意义吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51748519/

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