# File lib/grape/validations/validators/values.rb, line 25
      def validate_param!(attr_name, params)
        return unless params.is_a?(Hash)
        return unless params[attr_name] || required_for_root_scope?

        param_array = params[attr_name].nil? ? [nil] : Array.wrap(params[attr_name])

        raise Grape::Exceptions::Validation, params: [@scope.full_name(attr_name)], message: except_message \
          unless check_excepts(param_array)

        raise Grape::Exceptions::Validation, params: [@scope.full_name(attr_name)], message: message(:values) \
          unless check_values(param_array, attr_name)

        raise Grape::Exceptions::Validation, params: [@scope.full_name(attr_name)], message: message(:values) \
          if @proc && !param_array.all? { |param| @proc.call(param) }
      end