# File lib/apipie_bindings/action.rb, line 58
    def validate!(parameters)
      errors = validate(params, parameters)

      missing_arguments, errors = errors.partition { |e| e.kind == :missing_argument }
      missing_arguments.map! { |e| e.argument }
      raise ApipieBindings::MissingArgumentsError.new(missing_arguments) unless missing_arguments.empty?

      invalid_types, errors = errors.partition { |e| e.kind == :invalid_type }
      invalid_types.map! { |e| [e.argument, e.details] }
      raise ApipieBindings::InvalidArgumentTypesError.new(invalid_types) unless invalid_types.empty?

      errors.map! { |e| e.argument }
      raise ApipieBindings::ValidationError.new(errors) unless errors.empty?
    end