Take a look at:
http://rails.rubyonrails.org/classes/ActiveRecord/Validations/ClassMethods.html#M000942
James.