Skip to content

Params validations do not run for route_param #1278

@dapicester

Description

@dapicester

Hi, I found that validations do not run for route_param, here is a minimal example:

# file: route_param.ru

require 'grape'

class Bang < Grape::Validations::Base
  def validate_param!(attr_name, params)
    fail Grape::Exceptions::Validation, params: [@scope.full_name(attr_name)], message: 'bang'
  end
end

class RouteParam < Grape::API
  format :json
  default_format :json

  params do
    requires :name, type: String, bang: true
  end
  route_param :name do
    get do
      present :name, params[:name]
    end
  end
end

run RouteParam

Run with rackup route_param.ru and then curl localhost:9292/foo.
I expect a validation failed message, but instead I get {"name":"foo"}.

I am using version 0.14.0.

Updated: fix sample code typos

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions