Default value for validator option

I created a validator class something like:

class Create < Dry::Validation::Contract
  option :extra_option, default: nil

  params do
    optional(:fee_account).value(:str?)
  end
end

But when I don’t want to pass the value for option extra_option and try to call validator like: Create.new.call it raises option 'extra_option' is required error, which shouldn’t happen, Am I doing something wrong here?

@sudhanshusiwan this should be defined like this:

class Create < Dry::Validation::Contract
  option :extra_option, optional: true, default: proc { nil }

  params do
    optional(:fee_account).value(:str?)
  end
end

This is raw dry-initializer API.

1 Like