On 31/05/11 1:53 AM, Emmanuel Gomez wrote:
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.
I tried ActiveModel validations and Validatable before realising I could
use DM validations all along, so I suspect it's perhaps not as well
published as it could be --- I just skimmed the docs again and I don't
think it is mentioned:
http://datamapper.org/docs/validations
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
ooooh thanks for pointing this out
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.