Rails自定义验证错误消息

时间:2011-02-16 21:59:03

标签: ruby-on-rails validation

没有进入文本字段的所有javascript,我想要以下验证:

validates_length_of :brief_description,
  :maximum=>250, 
  :message => "Brief is #{self.brief_description.length} long (max is 250)"

但是消息中的self.brief_description引用不起作用。最好的方法是什么?

我试过了     #{PARAMS [:brief_description]。长度} 同样,但该模型对params一无所知......

1 个答案:

答案 0 :(得分:1)

我可能错了,但我认为您可以尝试将字符串括在单引号中,并且可能会延迟评估字符串直到运行时。

除此之外,您可以编写自定义验证(不使用validates_length_of宏)并执行以下操作:

def validate_brief_description
  errors.add :brief_description, "Brief is #{brief_description.length} long (max is 250)" if brief_description.length > 250
end