If you want to allow blank values use: allow_blank with validates.
class Topic < ActiveRecord::Base
validates :title, length: { is: 5 }, allow_blank: true
end
If you want to validate only on create, use on with validates.
class Topic < ActiveRecord::Base
validates :email, uniqueness: true, on: :create
end
To cover your case:
class Topic
validates :email, presence: true, if: :should_validate?
def should_validate?
new_record? || email.present?
end
end
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…