# Reusing Dry::Validation.Form

**URL:** <https://discourse.dry-rb.org/t/reusing-dry-validation-form/199>\
**Category:** dry-validation\
**Created:** [January 23, 2017, 11:39am UTC](https://discourse.dry-rb.org/t/reusing-dry-validation-form/199 "2017-01-23T11:39:26Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![vbogaevsky](https://yyz1.discourse-cdn.com/flex031/user_avatar/discourse.dry-rb.org/vbogaevsky/32/78_2.png) [@vbogaevsky](https://discourse.dry-rb.org/u/vbogaevsky)\
**Post date:** [January 23, 2017, 11:39am UTC](https://discourse.dry-rb.org/t/reusing-dry-validation-form/199/1 "2017-01-23T11:39:26Z")

</div>

Is there a way to reuse or inherit Dry::Validation.Form?  
With Schema I can do something like:

```auto
ParentSchema = Dry::Validation.Schema do
  required(:order_description) { filled? & str? }
  required(:commission_payer) { filled? & str? }
  required(:cost) { (float? | int?) & gt?(0) }
  required(:verify_days) { filled? & int? }
  required(:verify_days) { is_a_number? }
  optional(:title) { str? }
  optional(:consumer_id).maybe(:int?)
end

Dry::Validation.Schema(ParentSchema) do
  required(:contragent_email) { str? & email? }
  optional(:supplier_billing_info_id) { int? }
end

```

Is something like this possible for Dry::Validation.Form?

---

<div class="post-metadata">

**Author:** ![timriley](https://yyz1.discourse-cdn.com/flex031/user_avatar/discourse.dry-rb.org/timriley/32/25_2.png) [@timriley](https://discourse.dry-rb.org/u/timriley)\
**Post date:** [January 24, 2017, 3:40am UTC](https://discourse.dry-rb.org/t/reusing-dry-validation-form/199/2 "2017-01-24T03:40:01Z")

</div>

Yep, this should be possible. Does this spec help you work it out? [https://github.com/dry-rb/dry-validation/blob/master/spec/integration/schema/inheriting\_schema\_spec.rb](https://github.com/dry-rb/dry-validation/blob/master/spec/integration/schema/inheriting_schema_spec.rb)
