validation method breaks cucumber scenario

I'm trying to find an effective way to validate the following:

I have 3 form fields, a select menu a checkbox and a textfield. They can all be left blank on submission, but if you select two or more it should prompt an error. If the user chooses to, only one field should be allowed to be submitted.

I tried the following but it seems to be breaking my cucumber scenario. Only the first if statement works. The rest are breaking the scenario.

     if !database.blank? and !auto_generate_database.blank? and !snapshot_id.blank?         errors[:Database_Selection] = msg       elsif !database.blank? and !auto_generate_database.blank?         errors[:Database_Selection] = msg       elsif !snapshot_id.blank? and !database.blank?         errors[:Database_Selection] = msg       elsif !auto_generate_database.blank? and !snapshot_id.blank?         errors[:Database_Selection] = msg       end

Any input is greatly appreciated.