# Not good class User < ActiveRecord::Base validates :appropriate_content def appropriate_content unless # some validation check on name self.errors.add(:name, 'is inappropriate') end end end # Better require 'appropriate_validator' class User < ActiveRecord::Base validate :name, appropriate: true end # /lib/appropriate_validator.rb class AppropriateValidator < ActiveRecord::EachValidator def validate_each(record, attr, value) unless # some validation check on value record.errors.add(:attr, "is inappropriate") end end end