# File lib/ruote/util/filter.rb, line 496
    def raise_or_and(valid, field, value)

      # dealing with :and and :or...

      if valid == false

        if o = @rule['or']
          Ruote.set(@hash, field, Rufus::Json.dup(o))
        elsif @rule['and'].nil?
          return [ @rule, field, value ] # validation break
        end

      elsif a = @rule['and']

        Ruote.set(@hash, field, Rufus::Json.dup(a))

      elsif value.nil? and o = (@rule['or'] || @rule['default'])

        Ruote.set(@hash, field, Rufus::Json.dup(o))
      end

      nil
    end