Using Value Length in Validation Message


#1

I am learning to use Validations and am using validates_length_of to
check a field value is no longer than 240 characters.

I want to be able to produce a message back to the user telling them
that the value they entered was x characters too long.

Does anyone know how I can work with the value and its length?

validates_length_of :name, :maximum => 240, :message =>


#2

:message => “Length is #{name.length}, max allowed is 240”

2009/5/17 phil7085 removed_email_address@domain.invalid


#3

Thanks for the reply, That doesn’t give me the value for name it just
gives back the name of the model. i.e Task so the length given is 4.

Any ideas?


#4

2009/5/17 phil7085 removed_email_address@domain.invalid

Thanks for the reply, That doesn’t give me the value for name it just
gives back the name of the model. i.e Task so the length given is 4.

That’s true, I would go with Frederick’s solution.
Colin


#5

On May 17, 1:17 pm, phil7085 removed_email_address@domain.invalid wrote:

Thanks for the reply, That doesn’t give me the value for name it just
gives back the name of the model. i.e Task so the length given is 4.

Any ideas?

you could do this with a custom validation, ie

validates do |record|
if …
record.errors.add :name, “Name is #{record.name.length} characters
long”
end
end


#6

Yep that works, not quite sure why i couldn’t access the length before
though, still abit over my head but i’m learning.

Thanks for your help guys.

P