validates_uniqueness_of :day, scope: :store, :message => "already has a target for #{Date::DAYNAMES[self.day]}."
validates_uniqueness_of :day, scope: :store, :message => "already has a target for %{value}."
validates_uniqueness_of :day, scope: :store, :message => "already has a target for #{Date::DAYNAMES[%{value}]}."
class DayValidator < ActiveRecord::Validator
def validate()
if YOUR_TEST_FOR_INVALIDITY(record.day)
date = Date::DAYNAMES[record.day]
record.errors[:day] << "already has a target #{date}"
end
end
end
class YourClass < ActiveRecord::Base
validates_with DayValidator
end