Active record validation Issue

Hello,

I am trying to put some validation using active records onto form
fields.
like this -

validates_length_of :tag_list, :maximum => 2

When i provide value of tag_list as “abc” then it gives the proper
message
that length cannot be more than two. And when i provide value of
tag_list as
“abc xyz” then my application accepts the data, which should not happen
because the complete length of input data is more than 2.
So i think when i include space in input data then it counts the words
and
if space is not there in input than the charcters will be counted.

Could anyone help me out here? Thanks in advance!!

Are you using the acts_as_taggable plugin? 'Cause then tag_list varies
between string and array. Don’t know if that’s the case here though.

–Lasse

2010/2/15 Web D. [email protected]

Yes, i am using acts_as_taggable plugin. But then what could be the
solution for this?

Any solution to this???
I am stuck :frowning:

What are you trying to validate? That the tag_list doesn’t contain
elements longer than 2 charaters?

I reckon you’d have to do the validation manually then

private
def validate
#Do some checks on self.tag_list and if it fails:
errors.add(:tag_list, 'cannot contain elements longer than 2
characters)
end

On Feb 17, 11:16 am, Web D. [email protected] wrote:

Any solution to this???
I am stuck :frowning:

Well if acts_as_taggable behaves as Lasse says then sounds like you
need to write a custom validation method that checks the various cases
that can occur. Something like

validates :tags_long_enough

def tags_long_enough
if …
errors.add(:tag_list, “those tags are not nice”)
end
end

would probably do the job

Fred