gpt4 book ai didi

ruby-on-rails - 如果使用 validates_length_of,是否需要 validates_presence_of?

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

在 ActiveRecord 模型中,当还使用 validates_length_of 时,使用 validates_presence_of 是否被认为是最佳实践/必要?

例如:

class Company < ActiveRecord::Base
validates_presence_of :name
validates_length_of :name, :in => 5..30
end

对我来说,这似乎是多余的。长度在 5 到 30 之间意味着该属性也存在,但我看到它无处不在。这也意味着用户会收到两条关于同一缺失属性的错误消息,而实际上只需要一个。

我是否遗漏了什么,或者人们在验证数据时是否过于热心?

最佳答案

validates_presence_of 在与 validates_length_of 一起使用时完全多余,除非您提供 :allow_nil => true:allow_blank => true 给 validates_length_of。

任何验证中 allow_nil 和 allow_blank 选项的默认值为 false。 validates_presence_of 只有在属性既不是 nil 也不是空白时才会失败。因此,当 allow_nil 或 allow_blank 均未作为验证选项提供时,大多数提供的验证都会使 validates_presence_of 变得多余。

关于ruby-on-rails - 如果使用 validates_length_of,是否需要 validates_presence_of?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1592642/

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