user2206724
user2206724

Reputation: 1365

Rails: validation on two fields

One quick question. I have two fields pick_up and delivery. I want user to enter one of the two fields while submitting form. Means:

 validates pick_up or delivery, :presence => :true.

At least one should be present.

How to write this validation?

Upvotes: 1

Views: 162

Answers (2)

Josh Coady
Josh Coady

Reputation: 2189

This is a simple enough validation that I'd just do a one-liner:

validate { errors.add(:base, 'Please select one option') if pick_up.blank? && delivery.blank? }

Upvotes: 0

Soni Kishan
Soni Kishan

Reputation: 486

validate :pickup_or_delivery

def pickup_or_delivery
  if [self.pick_up, self.delivery].compact.blank.size == 0
    errors[:base] << ("Please select one option")
  end
end   

Upvotes: 2

Related Questions