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