validation on nested models

this validation in my model only works for the first nested model.
Why is that?

def treatment_must_have_preptype
   errors.add(:preptype,
I18n.translate('activerecord.errors.messages.nestedTrempty')) if
treatment_preptype_empty?
end

def treatment_preptype_empty?
   if !treatments.empty?
    treatments.all? {|treatment| treatment['preptype'].blank? }
   end
end