我的模型包含一些验证规则:
class Order < ActiveRecord::Base
validates :zip_code, presence: true, length: {is: 5}, numericality: {only_integer: true, :greater_than => 0}
end
当zip_code为空时,我不需要执行其他zip_code验证(如果zip_code为空白,则它是多余的,用户页面上的所有其他验证消息看起来都很奇怪)
我如何实现这个逻辑?我需要验证length, is_integer and greater_than only if zip_code is not blank?
,我需要在用户页面上只显示zip_code can't be blank
消息
答案 0 :(得分:2)
您可以执行类似
的操作validates :zip_code, presence: true
validates :zip_code, length: {is: 5}, numericality: {only_integer: true, :greater_than => 0}, :if => :zip_code?
希望它有所帮助!