0

can i have a validation which do exactly opposite to validates_uniqueness_of? i.e. i would like to show a error message when the user input is NOT exist in database.

thanks all. :)

Victor Lam
  • 3,646
  • 8
  • 31
  • 43

1 Answers1

5

No you have to write your own like following.

class Message < ActiveRecord::Base

def validate
  message=Message.find_by_name(self.name)
  self.errors.add :base, "Name must be present" if message.blank?
end


end

EDITED after comment by @x1a4

def validate
  self.errors.add :base, "Name must be present" unless Message.exists?(:name => self.name)
end
Salil
  • 46,566
  • 21
  • 122
  • 156
  • 3
    A bit cleaner is `message = Message.exists?(:name => self.name)` as you aren't doing anything with the message instance. – x1a4 May 27 '10 at 06:41