If you are using Rails and you find yourself fighting validations more often than you would like to, then you should consider watching my talk I gave at the London Ruby User Group this February about on dry-validation.
I will present the API surface which uses a schema based declarative approach and I will compare it with the classic ActiveModel::Validations approach in Rails for a simple but not trivial example.
You can find the talk here https://skillsmatter.com/skillscasts/13250-lrug
Code examples are here https://github.com/mottalrd/rails_validations_comparison
If you have any question, feel free to reach me out in the comments or on Twitter at https://twitter.com/mottalrd