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
        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

Any input is greatly appreciated.