Here is a common situation.  I have an attribute, :email_unconfirmed,
it can be nil or a valid email address.  I set up the following
validations for it.

validates_format :email_unconfirmed, :with => :email_address, :when =>
[:new], :message => "Email has an invalid format"
validates_present :email_unconfirmed, :when => [:new], :message =>
"Email must be given"

if I set a the :email_unconfirmed value to nil, I get double error
messages:
"Email has an invalid format Email must be given"

Yep, merb displays them on one line since DM has them as two errors on
the same attribute.  It appears just like shown above."  YuCK!!!

This is one thing that I was afraid of when diving into using
validations.  They are a full on all-or-nothing loop.  There are many
cases where if something fails, you want to stop and just produce the
first error.  In this case, there should be a "dependent" validation;
i.e. the email format is only checked if the value is not nil.   This
is obvious and should be a common case, but its not obvious how to
code it.

thanks, Jon
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---

Reply via email to