title: dry-struct How to conditionally validate one attribute?
body: <p>I'm using dry-types and dry-struct and I would like to have a conditional validation.</p>
  
  <p>for the class:</p>
  
  <pre><code>class Tax &lt; Dry::Struct
    attribute :tax_type, Types::String.constrained(min_size: 2, max_size: 3, included_in: %w[IVA IS NS])
    attribute :tax_country_region, Types::String.constrained(max_size: 5)
    attribute :tax_code, Types::String.constrained(max_size: 10)
    attribute :description, Types::String.constrained(max_size: 255)
    attribute :tax_percentage, Types::Integer
    attribute :tax_ammount, Types::Integer.optional
  end
  </code></pre>
  
  <p>I want to validate <code>tax_ammount</code> as an Integer and mandatory <strong>if</strong> `tax_type == 'IS'.</p>