Single-table inheritance and validation problem

Hi!

I’ve got a subscription form in which someone can decide to give a
gift to someone else. So you have to enter subscriber and recipient
data in one form.

For my user model I use single-table inheritance. It works fine but
I’ve got a bug in the validation which I’m not able to solve.

For both users, subscriber and recipient, you have to enter an email
address. It is important that the email address is unique so you have
to enter two different email addresses.

In my parent user model I validate the email input with
validates_uniqueness_of :email. This checks if there is an existing
email address in the database already but not if the email input of
both users are the same.

My bug is due to the save order and the validation of uniqueness that
then the second user will not be saved but the system also do not
throw an error.

I hope this is somehow understandable. Here some code that hopefully
shows the problem:
http://pastie.org/pastes/419606

So my question is how can I compare the email input to throw an error
if they are the same.

Thanks in advance.

Regards,
Stefan