errors.add_to_base not actually adding any errors to base?

I checked the API docs and found nothing about add_to_base gotchas..
but when adding an error to the base of an ActiveRecord object, it
essentially does nothing. The save/valid? methods work as if there
were no errors, and of course the view does not display them. Code
basically goes like this:

@order = account.orders.build
@order.errors.add_to_base("Must select at least one item")
if @order.save
...

also tried @order.valid? instead of save

Both return true and the record is saved anyway. Any ideas?
I am running Rails 1.2.6 as a gem.

I figured this out. The "save" and "valid?" methods call errors.clear
before running, which was dumping the errors I had added.

Should have thought to put it in the model anyway, it is business
logic after all. This works:

def validate
  if items.empty?
    errors.add_to_base("Must select at least one item.")
  end
end