Forum: Ruby on Rails validates_uniqeness_of

Announcement (2017-05-07): is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see and for other Rails- und Ruby-related community platforms.
Mohammad K. (Guest)
on 2006-03-03 00:59
(Received via mailing list)

I am trying to understand usage of validates_uniqeness_of.
Say I have, two column 'name' and 'email' in my table users

three unique key is possible for these two columns
1. name
2. email
3. name and email together

My question is,
if I write
validates_uniqueness_of :name, :email
what uniqueness is it going to apply,
1 and 2
3 ?

Nithin R. (Guest)
on 2006-03-03 01:18
(Received via mailing list)
1 and 2
Mohammad K. (Guest)
on 2006-03-03 01:24
(Received via mailing list)
what is the syntax of validates_uniqeness_of to implement # 3
Ryan P. (Guest)
on 2006-03-03 03:24
(Received via mailing list)
I had a similar question and what was replied to me was as follows:

You can do it by overriding the validate method on the model e.g.

def validate
 errors.add('startlocation', 'must be different to endlocation') if
startlocation == endlocation

which will get called on every save. You can also override
validate_on_create and validate_on_update to get finer grained control.

So, basically you'd want to see that if both the e-mail and the user
was unique you'd add an error outlined above. Now, the above code isn't
exactly what you'll do, but it at least gets you started in the right

Hope that helps,
This topic is locked and can not be replied to.