validates* inside method

Is there a way of using the 'validates*' methods inside another
method? For instance, I need to make sure a field is empty under a
certain set of circumstances and contain data under a different set of
circumstances. I would like to keep all the logic in one place and
have the benefits of what Rails has to offer for validations,
something like this (simplified):

validate :check_amount

def check_amount
  if my_condition_is_true
    self.errors.add :amount, 'should be empty.'
    validates_numericality_of :amount # this does not work

Thanks in advance