加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 如果使用validates_length_of,是否必须使用val

发布时间:2020-12-17 03:51:00 所属栏目:百科 来源:网络整理
导读:在ActiveRecord模型中,当使用validates_length_of时,它是否被认为是使用validates_presence_of的最佳实践/必要? 例如: class Company ActiveRecord::Base validates_presence_of :name validates_length_of :name,:in = 5..30end 对我来说,这似乎是多余的.
在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_length_of一起使用时,validates_presence_of完全是冗余的,除非您提供:allow_nil => true或:allow_blank =>对validates_length_of为true.

任何验证中allow_nil和allow_blank选项的默认值均为false. validates_presence_of仅在属性既不为空或空白时失败.因此,当allow_nil或allow_blank都不作为验证选项提供时,大多数提供的验证都会使validates_presence_of变为冗余.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读