validating when form labels don't match table fields

0 views
Skip to first unread message

Mike Poirier

unread,
Dec 31, 2006, 10:56:37 PM12/31/06
to rubyonra...@googlegroups.com
Hi,

I have a model where the attribute names don't match exactly what I'd
like to use for labels for the input s on my view.  For example, my
model order has an attribute "ordered_by_first_name" and I'd like the
label on the view to be "Your first name".  Fine.  Except that if I use
really nice validation helpers I can't fully override the error
message.  I can use :message but it always sticks in the model
attribute name.  This will cause some confusion and I was hoping to
make things a little more user friendly on the view.

My order model has other attributes that refer to people's names in
them (no, I'm not entirely normalized).

I guess it goes without saying that I was hoping to use
error_messages_for in the view.

Anyone have any suggestions for when the model names don't match what
you'd want to present to a user?

TIA,
Mike

Dan Manges

unread,
Jan 1, 2007, 12:46:18 PM1/1/07
to Ruby on Rails: Talk
Mike Poirier wrote:
> Anyone have any suggestions for when the model names don't match what
> you'd want to present to a user?

If you use a custom validation you can use:
self.errors.add_to_base("full message") to specify a full message. I
am not sure how to override the attribute name for the default error
messages.

Dan Manges

Mike

unread,
Dec 30, 2006, 10:01:56 PM12/30/06
to Ruby on Rails: Talk
Hi,

I'm using the validates_* functions in my models, but with one model,
I've used different labels in the view than what the real field names
are on the model. I see how to set a custom message with :message but
it always sticks in the model's field name. This would be confusing
when the error message is displayed, and the whole point was to make
the labels a little more tailored to the end user.

Is there any easy solution here?

TIA,
Mike

Mike

unread,
Dec 31, 2006, 9:03:22 AM12/31/06
to Ruby on Rails: Talk
Hi,

(I posted this topic last night, but it never showed up.)

I have a model where the attribute names don't match exactly what I'd
like to use for labels for the input s on my view. For example, my
model order has an attribute "ordered_by_first_name" and I'd like the
label on the view to be "Your first name". Fine. Except that if I use
really nice validation helpers I can't fully override the error

message. I can use :message but it always sticks in the model


attribute name. This will cause some confusion and I was hoping to
make things a little more user friendly on the view.

My order model has other attributes that refer to people's names in
them (no, I'm not entirely normalized).

I guess it goes without saying that I was hoping to use
error_messages_for in the view.

Anyone have any suggestions for when the model names don't match what


you'd want to present to a user?

TIA,
Mike

Mike

unread,
Dec 31, 2006, 1:18:52 PM12/31/06
to Ruby on Rails: Talk
Reply all
Reply to author
Forward
0 new messages