# Validation & transactions

**URL:** <https://discourse.dry-rb.org/t/validation-transactions/487>\
**Category:** dry-validation\
**Created:** [February 25, 2018, 1:09pm UTC](https://discourse.dry-rb.org/t/validation-transactions/487 "2018-02-25T13:09:34Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![mikekreuzer](https://yyz1.discourse-cdn.com/flex031/user_avatar/discourse.dry-rb.org/mikekreuzer/32/857_2.png) [@mikekreuzer](https://discourse.dry-rb.org/u/mikekreuzer)\
**Post date:** [February 25, 2018, 1:09pm UTC](https://discourse.dry-rb.org/t/validation-transactions/487/1 "2018-02-25T13:09:34Z")

</div>

Transactions require success/fail, but that’s not what validations return out of the box, they return success? not a monad, is that right?

If that’s true, is it intentional, or something that’s on your radar to change… or something else? 🙂

---

<div class="post-metadata">

**Author:** ![rickenharp](https://yyz1.discourse-cdn.com/flex031/user_avatar/discourse.dry-rb.org/rickenharp/32/12_2.png) [@rickenharp](https://discourse.dry-rb.org/u/rickenharp)\
**Post date:** [February 26, 2018, 1:20pm UTC](https://discourse.dry-rb.org/t/validation-transactions/487/2 "2018-02-26T13:20:13Z")

</div>

There’s [a method](http://www.rubydoc.info/gems/dry-validation/Dry/Validation/Result#to_either-instance_method) on Dry::Validation::Result to return itself as an Either monad. Does that help?

---

<div class="post-metadata">

**Author:** ![mikekreuzer](https://yyz1.discourse-cdn.com/flex031/user_avatar/discourse.dry-rb.org/mikekreuzer/32/857_2.png) [@mikekreuzer](https://discourse.dry-rb.org/u/mikekreuzer)\
**Post date:** [February 26, 2018, 10:10pm UTC](https://discourse.dry-rb.org/t/validation-transactions/487/3 "2018-02-26T22:10:45Z")

</div>

That’s exactly what I was after, I hadn’t got as far as the extensions. Thank you!
