def valid?(context = nil)
      current_context, self.validation_context = validation_context, context
      errors.clear
      run_validations!
    ensure
      self.validation_context = current_context
    end
def valid?(context = nil)
      current_context, self.validation_context = validation_context, context
      errors.clear
      run_validations!
    ensure
      self.validation_context = current_context
    end
Runs all the specified validations and returns +true+ if no errors were
 added otherwise +false+.

   class Person
     include ActiveModel::Validations

     attr_accessor :name
     validates_presence_of :name
   end

   person = Person.new
   person.name = ''
   person.valid? # => false
   person.name = 'david'
   person.valid? # => true

 Context can optionally be supplied to define which callbacks to test
 against (the context is defined on the validations using <tt>:on</tt>).

   class Person
     include ActiveModel::Validations

     attr_accessor :name
     validates_presence_of :name, on: :new
   end

   person = Person.new
   person.valid?       # => true
   person.valid?(:new) # => false