Yes, I do need to do just that from time to time; actually I'm a little embarrassed I didn't think of the 'non-persisted model' case for validations.
I'm pretty sure this is published, public api behavior that can be confidently made use of into the future. Along these same lines, check out solnic's virtus project, which seeks to bring DM's property API (& validations) to Plain Old Ruby Objects (non-persisted): https://github.com/solnic/virtus Thanks Chris for opening my eyes :), Emmanuel On May 30, 2011, at 4:44 AM, Chris Corbyn wrote: > In answer to my own question, it seems that you can basically do this: > > class Anything > include DataMapper::Validations > > attr_accessor :testing > > validates_presence_of :testing > end > > a = Anything.new > a.valid? # => false > > a.testing = "something" > a.valid? # => true > > That's excellent. If I'm doing validations one way in one part of my app I'd > rather not write almost, but not quite the same thing in another part of my > app. Is this a published behaviour, or am I risking something breaking > further down the line if I take advantage of this? > > Emmanuel, do you never need to validate something that isn't going into the > database, but is still user input? ActiveModel::Validations was done like > this for the same reasons. > > > On 30/05/2011, at 18:38, Emmanuel Gomez wrote: > >> Hi, >> >> I've been looking through some of dm-validations, and it's clear that some >> things could be simplified and tightened up by only supporting validation of >> DM::Resources. >> >> Is there a reason for dm-validations to make an effort to support non-dm >> objects? dm-validations depends on dm-core, so it can't be used >> independently (via rubygems, anyway). >> >> Any thoughts? >> >> -- Emmanuel >> >> -- >> You received this message because you are subscribed to the Google Groups >> "DataMapper" group. >> To post to this group, send email to [email protected]. >> To unsubscribe from this group, send email to >> [email protected]. >> For more options, visit this group at >> http://groups.google.com/group/datamapper?hl=en. >> > > -- > You received this message because you are subscribed to the Google Groups > "DataMapper" group. > To post to this group, send email to [email protected]. > To unsubscribe from this group, send email to > [email protected]. > For more options, visit this group at > http://groups.google.com/group/datamapper?hl=en. > -- You received this message because you are subscribed to the Google Groups "DataMapper" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/datamapper?hl=en.
