Rails中的条件验证

时间:2016-06-02 03:51:05

标签: ruby-on-rails ruby validation ruby-on-rails-4

我有一个模特。在某些情况下,我需要验证其所有字段的存在和其他类型的东西,在其他情况下,我需要只验证其中的一些,其他字段可以保持为空。实现这一目标的最佳途径是什么?

2 个答案:

答案 0 :(得分:5)

检查

validates_presence_of :state, :if => :in_us?

def in_us?
  country == 'US'
end

此处仅在国家/地区为美国时才会验证州的存在。对于其他国家/地区ID,请确认状态。

详细信息:http://railscasts.com/episodes/41-conditional-validations

答案 1 :(得分:-2)

您可以使用条件验证。请参阅文档http://guides.rubyonrails.org/active_record_validations.html#5.1